- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微服务平台
技术可行性分析
1
目录
1. 微服务需求分析和架构设计 3
2. 微服务分布式事务处理 10
3. 微服务的价值 13
2
微服务是目前最先进的开发方式,使用 spring cloud 、boot 开发微服务非常成熟,如
何对一个产品进行微服务开发,这里给出详细指导。
1. 微服务需求分析和架构设计
微服务是目前最先进的架构设计思想, 在许多国内外大互联网公司得到成功的应用,
其核心是化繁为简、化整为零,把应用分解为小的服务模块进行独立开发。微服务的这
一特点使其便于部署到容器,对整个开发、测试、运维都发生了革命性影响,有力地支
持了 devops 开发,便于敏捷开发和自动化测试, 利于独立部署、 维护升级和故障处理,
提高效率和质量,带来了一系列优势。那么,微服务有哪些奥秘呢?下面从技术原理上
进行剖析。
化整为零的思路不是开发一个巨大的单体式的应用,而是将应用分解为小的、互相
连接的微服务。一个微服务一般完成某个特定的功能,比如下单管理、客户管理等等。
每一个微服务都是微型六角形应用,都有自己的业务逻辑和适配器。一些微服务还会发
布API 给其它微服务和应用客户端使用。其它微服务完成一个 WebUI ,运行时,每一个
实例可能是一个云 VM 或者是 Docker 容器。
Spring Cloud 是微服务开发的优秀框架,在 spring Boot 的基础上进行开发, Spring
Cloud 为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、
微代理、控制总线、一次性 Token 、全局锁、决策竞选、分布式会话和集群状态)操作
的开发工具。使用 Spring Cloud 开发者可以快速实现上述这些模式。
3
微服务的特点在于根据业务提炼不同的服务, 系统经过拆分,根据不同的功能划分
出基础服务和核心服务。 各子系统调用多个核心服务完成功能, 核心服务调用多个基础
服务。 核心服务之间和基础服务之间不能互相调用。一般服务模块只能访问自己的数据
库,对其他数据库的数据,通过调用其服务提供的接口完成。
要搞好服务抽象,确定服务边界,确定合适的服务粒度,服务高内聚、低耦合,充分复
用,还需要合理划分服务的数据库,实现高度自治。
服务的访问分 3种方式:
1.采用 rest 方式同步调用服务,支持不同语言和环境。
4
2.采用消息方式异步并行调用服务,提高性能和可用性。
3.采用 asynTemplate 异步调用服务,通过 future 获取结果。
4.使用 rpc 方法访问,性能最优, google 的grpc 很棒。
根据业务的特点,灵活采用上面的方法调用服务,有效地提升系统性能。
微服务支持 OOD 、DDD ,根据业务场景而定架构模式, ODD 对于简单业务应用
合适, 对于复杂的业务应用, 采用面向领域设计 DDD 合适,Axon 支持 DDD 的 CQRS
模式,和 spring cloud 一起开发。
采用 spring boot 开发功能、 spring cloud ribbon 实现负载均衡、 config 处理
配置、zuul 做 api 网关、eureka 做服务注册、histrix 限流、Sleuth 处理 log 、dashbord 、
actuator
文档评论(0)