戳蓝字“CSDN云计算”关注我们哦!
过去几年来,“微服务架构”这个术语出现了,它描述了一种将软件应用程序设计为可独立部署的服务套件的特定方式。尽管这种架构风格没有确切的定义,但围绕业务能力,自动化部署,端点智能以及语言和数据的分散控制等方面存在着某些共同特征。
1
Q:微服务与SOA 架构有什么关系?
A:SOA :面向服务的架构
微服务将复杂的业务组件化,也是一种面向服务的架构,对于SOA来说,他也是SOA的一种实现,但是他比ESB实现的 SOA 更加的轻便,敏捷和简单
2
Q:微服务的不足
A:1、微服务的复杂度相对于单体应用来说,较为复杂
2、微服务涉及到分布式事务 【不能同时满足CAP 要求】
3、服务的划分比较难以处理
4、服务的部署难题
3
Q:微服务架构有什么优点?
A:微服务架构的好处
1.单个服务很容易开发、理解和维护。
2.这种架构使得每个服务都可以有专门开发团队来开发。
3.微服务架构模式是每个微服务独立的部署。
4.微服务架构模式使得每个服务独立扩展。
4
Q:微服务内部通信的方式有哪些?
A:内部服务之间的通信方式有两种:
1、基于HTTP协议的同步机制(REST、RPC);
2、基于消息队列的异步消息处理机制(AMQP-based message broker)。
5
Q:为什么需要微服务?
A:“微服务”架构是近期软件应用领域非常热门的概念。让我们先来看看传统IT架构面临的一些问题:
使用传统的整体式架构(Monolithic Architecture)应用开发系统,如CRM、ERP等大型应用,随着新需求的不断增加,企业更新和修复大型整体式应用变得越来越困难;
随着移动互联网的发展,企业被迫将其应用迁移至现代化UI界面架构以便能兼容移动设备,这要求企业能实现应用功能的快速上线;
许多企业在SOA投资中得到的回报有限,SOA可以通过标准化服务接口实现能力的重用,但对于快速变化的需求,受到整体式应用的限制,有时候显得力不从心;
随着应用云化的日益普及,生于云端的应用具有与传统IT不同的技术基因和开发运维模式。
此外,从技术方面看,云计算及互联网公司大量开源轻量级技术不停涌现并日渐成熟:
互联网/内联网/网络更加成熟;
轻量级运行时技术的出现(node.js, WAS Liberty等);
新的方法与工具(Agile, DevOps, TDD, CI, XP, Puppet, Chef…);
新的轻量级协议(RESTful API接口, 轻量级消息机制);
简化的基础设施:操作系统虚拟化(hypervisors), 容器化(e.g. Docker), 基础设施即服务 (IaaS), 工作负载虚拟化(Kubernetes,Spark…)等;
服务平台化(PaaS): 云服务平台上具有自动缩放、工作负载管理、SLA 管理、消息机制、缓存、构建管理等各种按需使用的服务;
新的可替代数据持久化模型:如NoSQL, MapReduce, BASE, CQRS等;
标准化代码管理:如Github等。
这一切都催生了新的架构设计风格 – 微服务架构的出现。
小伙伴们冲鸭,后台留言区等着你!
关于微服务,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……
同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~
福利
1、扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!
2、公众号后台回复:白皮书,获取IDC最新数据白皮书整理资料!
推荐阅读:
真香,朕在看了!