掌握高并发、高可用架构
第四章 微服务
本章介绍微服务的概念、为何要引入微服务、微服务会引发的问题,以及流行的微服务架构等。
![](/upload/ad_content/xuanchuantu-28.jpg)
成都创新互联服务项目包括临颍网站建设、
临颍网站制作、临颍网页制作以及临颍网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,
临颍网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到临颍省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
第一节 微服务基础
微服务
1. 微服务的定义
Martin Flower在2014年的一篇论文《MicroServices》中提出的,在某种程度上微服务是面向服务的架构SOA继续发展的下一步,它是一些协同工作的小而自治的服务,很小,专注于做好一件事,具有自治性,其主要特点是:
- 与组织结构相匹配,每个服务可按照业务、团队进行划分,使小的团队在小的代码库上高效工作
- 可组合性,易于重用已有功能
- 技术异构性,每个服务不限制开发语言,不限制使用的数据库,服务之间通过轻量级API调用
- 简化部署,每个服务独立部署,服务之间互不影响,管理自动化
- 弹性扩展,可针对用户访问流量大的服务单独扩展,从而节约资源
- 对可替代性的优化,微服务中的多个相似服务,重写或移除一个或多个服务的阻碍会很小
2. 引入微服务会面临的挑战
虽然微服务看上去很美好,但引入微服务需要考虑以下几个问题
- 微服务强调服务大小,但没有一个统一标准,大多是根据经验来划分业务模块。要记住,微服务是达到目的的手段,而不是目标
- 微服务的部署必然是分布式的,这会造成程序的复杂性。分布式事务、网络延迟、系统容错、服务之间的通信,以及服务发现、调用链跟踪和代码质量
- 微服务架构下,不同的服务可能使用不同的数据库。CAP(分布式环境下,一致性Consistency、可用性Availablity、分区容错性Partition tolerance)原则的约束,使得不得不放弃强一致性,转而接受最终一致性
- 对测试的挑战
- 跨服务的系统变更
- 部署,微服务由不同的大量服务构成,每种服务都有自己的配置、应用实例数量以及基础服务地址,所以我们需要统一的配置中心,服务发现机制,以及更好的部署策略和高度自动化水平
所有的挑战体现在微服务的每一个细节
- API网关 Gateway
- 服务间调用
- 服务发现
- 服务容错
- 服务部署
- 数据调用
3. 微服务的七大原则
- 围绕业务概念建模
- 接受自动化文化
- 隐藏内部实现细节
- 去中心化
- 独立部署
- 设计故障模式
- 高度跟踪
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享文章:掌握系列之微服务-1.概念-创新互联
标题链接:
http://bjjierui.cn/article/dcescg.html