TypechoJoeTheme

Toasobi的博客

最新文章

2022-09-21

什么是分布式?

什么是分布式?
分布式也就是微服务中的一种体系结构,那么提到分布式、就要先说说单机和集群一、单机结构单机就是所有业务全部写在一个项目中,部署服务到一台服务器上,所有请求业务都由这台服务器处理,显示,当业务增长到一定程度的时候,服务器的硬件会无法满足业务需求,自然而然的想到一个程序步行就部署多个。二、集群集群就是单机的多实例,在多个服务器上部署多个服务,每个服务就是一个节点,部署N个节点,处理业务的能力就提升N倍,这些节点的结合就叫做集群。负载均衡:协调群里的每个节点均衡地接收业务请求。通俗的讲就是服务A和服务B相同时间段内处理的同类业务请求数量是相似的集群的特点:扩展性好:集群只是单机的多个复制,没有改变单机的原有的代码结构,每次部署新节点只需要复制部署即可。单个节点业务耦合度高、资源浪费:节点是多个业务处理集合(耦合度高),每个具体业务的访问量可能差异很大,比如JD上账户管理模块的访问量肯定低于订单模块。然而账户管理模块和订单模块的部署数量是一样的(因为每个节点里独有这两个模块),相对于订单模块来说,部署同样多的账户管理模块就是浪费。那就把单机节点不同的业务处理模块拆开,这就是分布式了。三、分...
2022-09-21

分布式

0 阅读
0 评论
2022年09月21日
0 阅读
0 评论
2022-09-16

go-zero 添加拦截器,metadata传值

go-zero 添加拦截器,metadata传值
添加rpc服务端拦截器拦截器如同中间件一样,可以指定调用logic方法前后所执行的指令首先在main函数外做一个性质是全局函数的拦截器<div>func TestServerInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp interface{}, err error) { fmt.Printf("TestServerInterceptor ====> start \n") fmt.Printf("req ======> %+v \n", req) fmt.Printf("info =====> %+v \n", info) resp, err = handler(ctx, req) fmt.Printf("TestServerInterceptor ====>...
2022-09-16

go-zero专题

0 阅读
0 评论
2022年09月16日
0 阅读
0 评论