最近原本准备是继续写go-micro实战的,但是看到群里他们提到bilibili开源的go语言微服务框架kratos,所以也跟着学习下,正好记录下这个过程,关于go-micro的后续更新,抽个时间再进行更新了。
首先来介绍下这个kratos,他是bilibili开源的微服务框架,整个微服务框架在github上有23.6K的星:
足以证明kratos这个微服务在go语言的微服务开发中的受欢迎程度。
概述
在我本人试用kratos的整个过程中,对于我的理解是:
整个框架提供的信息有: 1、整体的微服务模板代码结构 2、使用命令动态编译及自动注入 3、成熟的运行体系 4、基于rpc,同时提供http和grpc的服务调用。 5、通过proto定义接口 我们需要做的: 1、在模板对应的模块添加业务代码 2、使用命令把编写的业务代码自动注入到工程 3、启动项目运行
所以其实我们只需要关心的就是按照这个模板结构在对应位置填充我们的业务代码即可。
kratos官网
kratos的官网是:kratos官网
kratos相关的文档是:kratos文档介绍
kratos开源的源码地址是:kratos开源地址
kratos微服务支持列表
像我们在编写java微服务的时候,微服务涉及到的一些配套比较多,在kratos中我们可以直接按照spring cloud这一套微服务配套来进行对应,kratos目前支持的微服务配套有:
1、服务注册 2、服务发现 3、负载均衡 4、路由(这是负载均衡的路由,不是网关的路由) 5、熔断限流 6、链路追踪 7、监控endpoint
这里面除了网关暂时没有,其他的都是可以满足微服务相关的内容了,如果在实际工作中,网关的话,可以考虑使用kong来进行替代,我们将在本微服务实战的后面编写融入kong来使用微服务网关的案例。
kratos自动注入
提到自动注入,我们一般会联想到java里面的spring,这里的kratos我们也可以这么理解,他主要是使用wire来进行自动注入的,后面我们会进行演示。
好了,上面kratos的大概介绍就到这里,后续如果想到了再进行补充,从下一篇文章开始,我们将正式进入到kratos微服务实战系列。
还没有评论,来说两句吧...