![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go-zero
文章平均质量分 96
微服务
王翊珩
Talk is cheap. Show me the code.
展开
-
微服务必备容器化技术
在微服务的体系架构中,因为应用程序会进行拆分,这时就会存在多个服务需要部署运行,相应的多个服务之间具有多种部署方案,这时传统的方式就会面临巨大的挑战。在特殊时候需要动态的并快速的新增服务或减少服务,例如在秒杀抢购服务在双十一的时候才具有较大的并发流量,流量可能是平时的好几倍需要做好扩容,但是在平时又不存在这么多的流量,因此对整个程序就需要做到自适应伸缩扩容。原创 2024-06-19 18:45:12 · 1094 阅读 · 0 评论 -
上手微服务框架go-zero
如下就是具体api服务与中间件及路由的加载流程储上是采用了树的方式存储,在业界中对路由的存储方式主要有两种是基于树是基于字典两种方式相对而言字典速度是最快的,但是它会存储较多重复的内容;如上面两个路由,路由的前缀实际上是相同的,go-zero的方式非传统二叉树,而是树和字典的结合如下是存储的示意图在存储的时候子集存储的存储方式采用的是map[string]*node方式存储,在性能上是o(log2)同比与字段会稍慢,但可以较少较多的存储空间。综合居中。原创 2024-06-19 15:38:16 · 1170 阅读 · 0 评论 -
从0进入微服务需要了解的基础知识
在当下的架构中对软件项目而言应用程序是整体部署,随系统的运行会发现,存在一些模块它的用户访问量明显远远大于其他模块,并且在一些模块中业务的变更复杂度远高于其他模块,因此在应用程序的基础上就进行拆分,根据业务及访问热度拆分成多个服务分别部署在不同机器上,从而演化成为微服务。:这种方式相当于直接电话沟通。微服务实际上是一种形式与思想的转变,在传统的单体项目开发中以一份代码部署一个服务来实现需求的项目,而微服务项目的开发则是将一份项目代码,拆分为多个服务代码,每一个服务代码部署运行并最终一起实现需求的项目。原创 2024-06-17 16:38:39 · 934 阅读 · 0 评论 -
掌握rpc、grpc并探究内在本质
在go语言中自带了net/rpc包,在这个包中包含了对rpc的封装,可以理解为就是之前提到的与其中是go内部提供的一种默认的序列化方式。在前面的内容中给大家介绍了rpc的功能、案例以及go中net/rpc的实现,在目前的业界中项目的开发技术u运用越来越多,如多种语言的结合开发,多平台的结合开发。在这种情况下就会带来新的问题,如rpc如何设计可以很好的支持版本的迭代发展问题在各个项目中对于rpc的交互如何实现跨平台跨语言的问题针对普通rpc在通讯中存在的问题google提出grpc来解决。原创 2024-06-18 15:10:22 · 1230 阅读 · 1 评论