#连载

大话重构连载6:一个真实的谎言

经过前面的一番解说。相信你已经对系统重构有了一些初步的认识了。一切的一切仿佛在告诉我们,系统重构总是与需求变更无关。但此时,我不得不告诉你这是真实的谎言。我们的软件系统总是处于一种变化之中。而且往往是一种由浅入深、由易到难的过程。可是,当系统复杂程度发生变化时,我们应当及时调整我们的设计。来适应新的变化。然而我们没有做...

Golang gRPC实践 连载一 gRPC介绍与安装

Ahighperformance,opensource,generalRPCframeworkthatputsmobileandHTTP/2first.——gRPCWebsitegRPC 是一个高性能、开源、通用的RPC框架,由Google推出,基于HTTP/2协议标准设计开发,默认采...

Golang gRPC实践 连载三 Protobuf语法

gRPC推荐使用proto3,本节只介绍常用语法,更多高级使用姿势请参考官方文档一个message类型定义描述了一个请求或相应的消息格式,可以包含多种类型字段。例如定义一个搜索请求的消息格式,每个请求包含查询字符串、页码、每页数目。syntax="proto3";messageSearchRequest{stringq...

Golang gRPC实践 连载四 gRPC认证

gRPC默认提供了两种认证方式:基于SSL/TLS认证方式远程调用认证方式两种方式可以混合使用这里直接扩展hello项目,实现TLS认证机制首先需要准备证书,在hello目录新建keys目录用于存放证书文件。制作私钥(.key)#Keyconsiderationsforalgorithm"RSA"≥2048-bi...

Golang gRPC实践 连载七 HTTP协议转换

正当有这个需求的时候,就看到了这个实现姿势。源自coreos的一篇博客,转载到了grpc官方博客gRPCwithRESTandOpenAPIs。etcd3改用grpc后为了兼容原来的api,同时要提供http/json方式的API,为了满足这个需求,要么开发两套API,要么实现一种转换机制,他们选择了后者,而我们选择跟...

Golang gRPC实践 连载六 内置Trace

grpc默认提供了客户端和服务端的trace日志,可惜没有提供自定义接口,当前只能查看基本的事件日志和请求日志,对于基本的请求状态查看也是很有帮助的,客户端与服务端基本一致,这里已服务端开启trace为例,修改hello项目的server代码:server/main.gopackagemainimport("net""...

Golang gRPC实践 连载五 拦截器 Interceptor

grpc服务端提供了interceptor功能,可以在服务端接收到请求时优先对请求中的数据做一些处理后再转交给指定的服务处理并响应,功能类似middleware,很适合在这里处理验证、日志等流程。在自定义Token认证的示例中,认证信息是由每个服务中的方法处理并认证的,如果有大量的接口方法,这种姿势就太蛋疼了,每个接口...

【连载】Maven系列(四)——配置私服

1.《用起来超爽的Maven——入门篇》2.《用起来超爽的Maven——进阶篇》3.《Maven系列(三)  进阶》有些公司并不提供外网给程序猿,因此不能使用maven訪问远程的仓库地址。所以非常有必要在局域网里找一台有外网权限的机器;搭建nexus私服,然后程序猿连到这台私服上,这种话就能够通过这...

博客园的神回复,程序猿的奇葩神回复[连载][二]

在上一篇(博客园的神回复,一起看看那些IT男的神回复[连载][一])中(ps: 这篇博客之所以改名是因为这次的神回复里有程序媛,所以用IT男不太合适),博客园神回复还是挺受欢迎的,上一篇博客的神回复取材均来自博问区,在这篇博客中,应了上一篇博客园友的强烈推荐(在这里也感谢rsync和_nil两位园友的推荐),...

博客园的神回复,一起看看那些IT男的神回复[连载][一]

  在这里提醒那些不是经常泡园子的朋友们,这篇博客只适应经常泡园子的人看,不经常泡园子的人可能看不出其中的乐趣,为不影响你宝贵的工作和学习时间。慎入...博客背景  这里只是搜集了一些我平常在博问看到的神回复,真正属于博客园这个大家庭自己的神回复。如果大家在博客园其他地方看到了可以私信我,或者直接更新在评论里,我会更新...