本篇文章给大家分享的是有关怎样理解微服务,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
根据业务模块划分服务种类。 每个服务可以独立部署并且互相隔离。通过轻量的 API 调用服务。 服务需要保证良好的高可用性。
怎么理解呢?以下是我的解读:
按业务拆分服务,这是“垂直拆分”;在技术层面的“前后分离”,属于“水平拆分”;横纵一起切,就把单一的应用拆分成网状的小块应用,这是微服务中“微”思想的体现。
独立部署与互相隔离,这点充分体现了“我为人人、人人为我”的设计理念,这是微服务中「服务」思想的体现。
关于轻量 API,微服务本身是推荐使用轻量的通讯协议和简单的数据结构,实际上,实施环节通常采用的都是 http+json 的方式。
这样做的好处是,服务之间不再需要关心对方的模型,仅通过事先约定好的接口来进行数据流转即可。这是微服务中“解耦”思想的体现。
最后一点,比较通用了,就是现如今各种设计都必须考虑的事情。于是,我给微服务下了一个定义,如下图:
要做好微服务,就要做好一定的准备工作。
从五个具体的方面来谈:
业务拆分,体现在设计环节:在设计的时候,要有足够的判断力来合理的规划服务之间的界限。
服务治理,底层技术的支持:首先要选一款适合自己实际情况的分布式服务基础框架,对于服务的发现、治理、熔断、降级,都要做好相应的技术准备。
自动测试,一定要自动化。微服务一个明显的表象就是随着服务的增多,如果继续沿用传统的测试模式就会遇到瓶颈,为了保证高效的迭代,尽量做到更多的环节实现自动化。
自动运维 :微服务拆分之后,每个服务都可以独立部署,进而言之应该是随时随地可以升级。尤其当互联网发展到今天,业务要保持对市场变化的一个高效响应,自动化运维就是提升交付速度的一个重要环节。
监控:包括硬件环境、服务状态、系统健康度、接口调用情况、异常的实时告警以及潜在问题的事先预警等等。监控在实施微服务过程中会重要到什么程度呢?一句话:没准备好监控,就不要搞微服务。
最后,微服务不是银弹,软件领域没有银弹,微服务以其特有的优势在解决一些问题的同时,也引入了其他问题,以下这几点,必须要深刻的思考,三思而后行。
以上就是怎样理解微服务,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。