2022年微服务架构技术规范-第一版V. .pdf
《2022年微服务架构技术规范-第一版V. .pdf》由会员分享,可在线阅读,更多相关《2022年微服务架构技术规范-第一版V. .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微服务架构技术规范(试行稿)1总则目前研发中心的后台开发中,基于Java/Spring MVC/Spring Boot框架开发,每个部门引入的支撑组件却各异,缺乏统一性,甚至每个部门都维护着一堆非业务组件,影响开发人员对快速变化业务支持的专注性。这套方案的具有较好的可扩展性、可维护性、 及良好的代码风格, 可以为公司各类型的应用开发提供统一、 通用、而强大的基础架构, 完全能支持公司所有后台服务沉淀和演化出一个稳健企业中台。2适用范围本规范适用于创维数字本部及各分子公司,在使用微服务技术架构进行系统开发时,需遵循此技术规范3微服务概述3.1 微服务定义什么是微服务?1微服务- 也称为微服务架构
2、- 是一种架构风格,它将应用程序构建为一组服务2高度可维护和可测试3松散耦合4可独立部署5围绕业务能力进行组织。6微服务架构支持大型复杂应用程序的持续交付/ 部署。 它还使组织能够名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 发展其技术堆栈。Chris Richardson 世界著名软件大师3.2 使用微服务传统的单体服务,或者模块化不彻底的项目可能存在以下弊端:1团队职责不清晰2构建和部署耗时长3全量部署耗时长、影响范围广4
3、单体只能按整体横向扩展,无法分模块垂直扩展5受技术栈限制,团队成员使用同一框架和语言6升级和变革技术框架变得困难随着软件行业的发展和演变, 服务器软件进入了微服务化阶段。对服务的可维护性、可扩展性、可用性这些维度更加让从业人员关注。而微服务化正是解决这些观注的良好的解决方案。所以微服务化正是软件发展演化的结果。在新的目项目应该微服务化解决方案。微服务化的程度可以具体项目具体场景决定。4开发规范4.1 基本理念4.1.1无状态服务 (Stateless) 无状态就是一次操作,不能保存数据。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
4、 - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 在编程层面,无状态对象 (Stateless Bean) ,就是没有实例变量的对象.不能保存数据,是不变类,是线程安全的。 比如 Java 开发中的 EJB, Servlet, Spring MVC , Spring Service都是无状态的。HTTP 也是一种不保存状态,无状态(stateless )协议。 HTTP 协议自身不对请求和响应之间的通信状态进行保存。也就是说在HTTP 这个级别,协议对于发送过的请求或响应都不做持久化处理。JWT 也无状态的 Token 机制, 不需要在
5、服务端存储session 信息, 因为 Token 自身包含了所有用户的相关信息。Kubernetes中 stateless 服务也是一种无状态服务,功能强大,易于扩展和发布。所以无状态是一种非常有价值的架构设计理念。4.1.2幂等性是指任意多次执行所产生的影响,与一次执行的影响相同。 一个拥有幂等性设计的接口,保证无论一次或多次来调用接口,都能够得到相同的结果。 在微服务场景中,幂等有助于系统的可靠性, 易于实现重试机制、 易于实现缓存系统的设计。4.2 数据请求规范4.2.1URL 规范针对目前 url 使用不规范,提出以下建议。一般域名后面建议就三层:https:/域名/业务模块名 /功
6、能点 / 功能操作(?或/ )名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 可选内容https:/api.skyworthdigitailiotcom/业务模块名 /功能点 / 功能操作https:/admin.skyworthdigitailiotcom/业务模块名 /功能点 / 功能操作注意事项:采用子域名区分请求是amdin 或 app 的, 不同子域名采用不同ip, 入口隔离。url 字符串中不区分 amdin 或 a
7、pp , 但目前的 header 可以区分不同业务端,同时可用于控制访问权限。controller代 码 中 , admin/app放 到 不 同 的controller文 件 中 。 但RequestMapping不用区分是 admin ,还是 app 的功能。4.2.2REST 要遵循 Restful 方式(增删改查对应Post, Delete, Put, Get)的接口定义,所有的 get 请求必须幂等。幂等就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。分布式环境下各个服务相互调用, 所以尽可能提供幂等性性接口。对外接口一般都是http 接
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年微服务架构技术规范-第一版V. 2022 微服 架构 技术规范 第一版
限制150内