资料内容:
一. 微服务框架
1. Spring Boot + Spring Cloud
SpringBoot是最流行的Java应用框架,而SpringCloud是面向微服务治理的不同需求的一整套框架的集合,或者说框架的规范
(而且是弱规范,之所以说只能称为弱规范,因为同一个问题,SpringCloud中有不同的框架来解决,而且从一种切换到另一
种,需要修改代码,比如说Hytrix和Sentinel,流行的全家桶也从SpringCloud Netflix过度到了SpringCloud Alibaba等等)。可以认
为SpringCloud是SpringBoot的扩展,铁打的SpringBoot,流水的SpringCloud扩展。
2. GoMicro
go micro是一个基于可插拔式RPC的底层库,提供用go语言写微服务的各种构造块。go micro使用consul实现服务发现,通信基于
http,编码则使用proto-rpc,json-rpc,并且提供发布/订阅模式。
go micro致力于解决建立可伸缩系统的关键性问题,它把微服务架构模式拆解并转换成了一组工具集,能够解决分布式系统中
的复杂性问题,并且向程序员提供易于理解的简单抽象。
**API网关:**micro api通过服务发现能够提供强大的路由功能和可插拔的处理器,以处理http, grpc, websockets等协议请
求。
**交互式客户端:**通过交互式客户端提供的命令,可以清楚地了解系统中各个微服务发生了什么。
**服务代理:**基于go micro和MUCP协议构建的透明服务代理,提供应用无关的服务发现、负载均衡、消息编解码、熔
断器等等插件。可以独立部署也可以和服务并肩部署。
**服务模板:**提供内置的服务模板快速创建新服务。
SlackOps Bot: 一个运行在用户平台上的机器人,让你可以从Slack管理你的应用。
**Web控制台:**通过web控制台,可以观察服务的情况,描述服务的访问入口,查看请求和响应的格式,甚至直接请求
服务。
3. Molecular
一个面向NodeJS的服务框架。支持基于NodeJS构建高效、可靠、可伸缩的服务。
4. Quarkus
RetHat开发的一款比较新的Java框架,对k8s和云原生支持比较好,是Kubernetes上原生的Java框架,它的目标是让Java语言变成
Kubernetes上的第一语言。
5. Lagom
Lagom是一款用Java和Scala构建响应式微服务的开源框架,Lagom本身基于Akka和Play开发。Lagom的集成开发环境可以让开发
者集中精力解决业务问题,而不用过于关心怎么把服务组装在一起。一个命令就可以构建整个项目,启动支撑组件、Lagom的
微服务框架、以及开发者的微服务本身。当服务检测到代码变化时,可以自动热加载。