springrain 5.0.0 发布,无感知的微服务

来源: 投稿
作者: 光石头
2019-01-17 15:31:00

5.0.0 项目入口是 springrain-system-web,基于Istio实现微服务,正在整理文档.

实现了什么?

  • 不增加学习成本,像单体一样开发分布式微服务.

  • 不修改业务代码,可以实现单体,分层,微服务多种部署模式切换.

  • 内置同步的分布式事务实现.

实现思路

  • 启动加载springbean时,先检查本地是否有实现,如果没有就启动RPC远程调用.整个过程对开发人员无感知.

  • 基于GRPC协议调用和事务通知.

  • 如果开启了分布式事务,入口方法作为事务控制器,由入口方法通过GRPC通知事务提交或者回滚.

  • 基于Istio实现微服务的监控,熔断,限流.

限制

  • 接口和实现的命名强制规范.

  • 一个RPC接口只能有一个实现.

体验单体到分层切换

  • 修改springrain-system-web依赖springrain-system-service,作为客户端,不再依赖springrain-system-serviceimpl.

  • springrain-system-serviceimpl添加springrain-grpc-server依赖,作为服务端.

  • 启动springrain-system-serviceimpl

  • 启动springrain-system-web

  • 访问http://127.0.0.1:8080/

展开阅读全文
点击加入讨论🔥(8) 发布并加入讨论🔥
8 评论
45 收藏
分享
返回顶部
顶部