转载

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

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/

原文  https://www.oschina.net/news/103686/springrain-5-0-0-released
正文到此结束
Loading...