用consul管理你的微服务

1.1 为什么要使用服务发现 设想下,我们写了一些通过REST API或者Thrift API调用某个服务的代码,为了发起这个请求,代码需要知道服务实例的网络地址(IP 地址和端口号)。在传统运行在物理机器上的应用中,某个服务实例的网络地址…

微服务网关中的jwt认证

一. JWT是什么 JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案。简单说,OAuth 就是一种授权机制。数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据。系统从而产生一个短期的进入令(token),…

微服务架构中的网关

在前面的文章中我们讲到了微服务架构,当我们把一个庞大的单体系统拆分成多个微服务之后,把每个微服务部署在不同的服务器上。这时候系统的架构如下图所示: 上图架构存在扩展性差的问题。不同的微服务一般有不同的网络地址,而外部客户端可能需要调用多个服…

聊聊微服务架构

互联网技术发展迅速的今天,微服务倍受关注:文章、博客、社交媒体讨论和会议演讲都在谈论。与此同时,也有持怀疑态度的软件社区人员认为微服务没什么新鲜可言。反对者声称它的思想只是面向服务架构的重塑。然而,无论是炒作还是怀疑,不可否认,微服务架构模…

gRPC使用实战

一. gRPC调用 在前面我们学习了使用gRPC框架实现服务的调用编程。在gRPC框架中,前面我们学习的在客户端与服务端之间通过消息结构体定义的方式来传递数据,我们称之为“单项RPC”,也称之为简单模式。除此之外,gRPC中还有数据流模式的…

gRPC远程过程调用

一. gRPC介绍和安装 1.1 什么是gRPC 1.1.1 gRPC介绍 gRPC是由Google公司开源的一款高性能的远程过程调用(RPC)框架,可以在任何环境下运行。该框架提供了负载均衡,跟踪,智能监控,身份验证等功能,可以实现系统间…

golang实现rpc远程调用

RPC         远程过程调用(Remote Procedure Call,缩写为 rpc)是一个计算机通信协议。 该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。 如果涉及的软件采用面…

谷歌支付服务端校验

最近项目要接谷歌支付,如果之前结果国内的微信支付宝支付的话就对支付的流程非常熟悉了,我不必赘述。谷歌/苹果支付跟国内支付不一样的地方在于它不会主动回调业务的服务端,它是通过告诉客户端支付结果由客户端去调业务服务端进行发货之类的逻辑。为了安全…

阻碍我们成为牛人的因素是什么

背景 前阵子跟公司领导聊天,他问了我一个很深刻的问题:“从你接触写代码开始到现在已经有6年时间了,6年时间足以让你成为行业里一个非常资深的人厉害的人,你觉得你达到了吗?你觉得阻碍你成为大牛的因素是什么?” 这个问题很引人深思。如果我们用6年…