构建微服务技术架构Word文件下载.docx
- 文档编号:5787674
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:3
- 大小:409.37KB
构建微服务技术架构Word文件下载.docx
《构建微服务技术架构Word文件下载.docx》由会员分享,可在线阅读,更多相关《构建微服务技术架构Word文件下载.docx(3页珍藏版)》请在冰点文库上搜索。
如何构建微服务架构
“微服务”的概念兴起于四五年前,近几年尤其火热,各大厂都在进行微服务化改造和微服务建设。
最近一年来我们也参与了微服务化的改造大军,这里写下一些做微服务系统设计和开发时的切身感受。
微服务架构
说起微服务,不得不提那篇经典的文章,来自MartinFlower的《Microservices》,建议多读几遍。
MartinFlower是敏捷开发方法创始人之一,《重构》《企业应用架构模式》作者,ThoughtWorks公司的首席科学家。
微服务虽然不是在这篇文章中首次提出,但是它将发展多年的微服务架构进行了重要性总结,推动了微服务的流行。
Martin在文章中从多个方面详细阐述了微服务的概念,首先作者对比单体应用的架构,一个单体应用处理请求的所有逻辑都运行在一个单独的进程中,这种情况下,你可以在笔记本上开发、测试、部署都很简单,还可以通过负载均衡进行横向扩展,最后交付给运维团队。
单体应用非常成功,但是越来越多的人感觉不妥,尤其是在云中部署的时候,任何微小的变更都要整体重新构建和部署,扩展的时候也需要整体扩展,不能进行部分扩展。
这时候微服务架构风格就出现了,它提出将应用程序构建为一套服务,每个服务都可以独立部署和扩展,运行在独立的进程中,服务之间通过RPC调用进行通信。
微服务的应用致力于松耦合和高内聚:
采用单独的业务逻辑封装,接受请求、处理业务逻辑、返回响应,而且喜欢简单的REST风格,而不喜欢复杂的协议,最终实现敏捷开发。
1.png
微服务不是什么框架,也不是什么系统,只是一种架构风格。
我们所使用的DSF(华为)、Dubbo(阿里)、SpringClould(Pivotal)等框架,在介绍中都称是分布式服务框架。
这些分布式服务框架都是微服务架构必不可少的基础能力,微服务一定是分布式的。
分布式服务的概念比较模糊,只是解决了网站的高并发问题,很多细节问题是微服务帮其明确的。
微服务更加强调敏捷和健壮,强调服务的粒度,一个服务只需完成一个单一的、独立的功能,多个微服务组合完成相对复杂的业务系统,以满足需求。
而且微服务注重借助于各种中间件进行业务解耦和提高性能,以及提高服务的容错性。
从上面的介绍中我们可以看出,微服务架构有很多优点。
例如,服务的拆分将复杂问题简单化;
每个服务由专门的团队开发,开发者可以自由选择实现技术,提供API服务;
每个微服务都可独立部署,加快了部署速度;
每个服务可独立扩展以满足需求。
微服务不是免费的午餐,微服务架构也有缺点。
微服务概念强调了服务的大小,但是服务变小不是最终目的,微服务的目的是有效地拆分应用,实现敏捷开发和部署;
微服务应用都是分布式系统,需要通过RPC进程间通信完成服务调用,这样大大增加了系统的复杂性,因此必须写代码处理由于网络或者服务不可用等导致的调用失败问题,虽然一般框架都支持相关配置,但是在这种情况下微服务显得相对复杂些;
在微服务架构的应用中,建议不同的服务使用不同的数据库,这种情况下,一个交易一般会调用多个服务,同时需要修改多个数据库,由于CAP理论和其它的一些因素,并不能实时地保证数据的一致性,因此不得不使用最终一致性的方法,从而对开发者提出了更高的要求和挑战;
测试一个微服务架构的应用也是很复杂的任务,首先需要启动和它相关的所有服务(至少需要这些服务的stubs)。
最后还是要强调一下,不要低估了微服务架构带来的复杂性,下面介绍一下我们如何应对这样的复杂性。
微服务架构给我们带来方便的同时,也引入一定的系统复杂性,最近几年随着基础设施自动化技术的发展,比如云平台、容器技术,再加上自动化测试与持续集成,减少了构建、发布、运维微服务的复杂性。
因此我们的微服务团队应该依赖基础设施自动化技术构建软件,下图说明这种构建的流程:
2.png
在构建微服务软件时使用的分布式服务框架也拥有很多特性,这些特性提供了很多复杂问题的解决方案,比如异步调用、超时失败策略、故障隔离、健康检查、流量控制以及自定义路由等,这些特性大大减轻了开发者处理逻辑的负担,还有一些高性能、高可用的保障都增加了我们构建微服务的信心。
而且经过多年的微服务实践者的摸索,也总结出了很多辅助运维系统,比如统一日志收集(ELK)、服务管理、服务监控和服务治理等,大大减轻了运维的工作,而且能让我们对复杂的微服务系统做到心中有数。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 构建 微服 技术 架构