SpringCloud 微服务基础知识与概念

文章 未结 0 4.86w
无法显示用户头像
ECode1024官方 5 钻石
发布于 2018-04-12
将就以下问题进行探讨: [pre] 什么是微服务? 微服务解决了什么问题? 微服务有什么特点? [/pre] 什么是单体架构? 1)、一个归档包包含了应用所有功能的应用程序, 我们通常称之为单体应用。  2)、架构单体应用的架构风格, 我们称之为单体架构, 这是一种比较传统的架构风格。 单体架构存在的缺点? 1)、复杂性逐渐变高 2)、技术债务逐渐上升 3)、部署速度逐渐变慢 4)、阻碍技术创新 5)、无法按需伸缩 架构的演进 [pre] 单体架构(传统架构) SOA(面向服务架构) 微服务 [/pre] 什么是微服务? 简而言之,微服务架构风格这种开发方法,是以开发一组小型服务的方式来开发一个独立的应用系统的。其中每个小型服务都运行在自己的进程中,并经常采用HTTP资源API这样轻量的机制来相互通信。这些服务围绕业务功能进行构建,并能通过全自动的部署机制来进行独立部署。这些微服务可以使用不同的语言来编写,并且可以使用不同的数据存储技术。对这些微服务我们仅做最低限度的集中管理。 微服务所具备的一些特性? 1). 每个微服务可独立运行在自己的进程里; 2). 一系列独立运行的微服务共同构建起了整个系统; 3). 每个服务为独立的业务开发,一个微服务一般完成某个特定的功能,比如:订单管理、用户管理等; 4). 微服务之间通过一些轻量的通信机制进行通信,例如通过REST API或者RPC调用的方式进行调用。 单体架构 VS 微服务架构示意图 img[http://newecode1024.oss-cn-hongkong.aliyuncs.com/189f3f9e-c510-445d-a254-626bddfdc49e.png]  img[http://newecode1024.oss-cn-hongkong.aliyuncs.com/36a55e88-4d91-4319-9891-92f32098a034.png]  微服务架构有哪些优点? 1)、易于开发和维护 2)、启动较快 3)、局部修改容易部署 4)、技术栈不受限 5)、按需伸缩 6)、DevOps 微服务架构带来的一些挑战? 1)、运维要求较高 2)、分布式的复杂性 3)、接口调整成本高 4)、重复劳动 微服务架构的设计原则? 1)、单一职责原则(一个模块只负责某一功能实现) 2)、服务自治原则 3)、轻量级通信原则 4)、接口明确原则 微服务开发框架浅谈 Spring Cloud:http://projects.spring.io/spring-cloud Dubbo:http://dubbo.io Dropwizard:http://www.dropwizard.io Consl、etcd &etc. 注:本篇文章由ECode1024原创编辑,未经允许,不得修改转载,否则追究相关责任。

声明:本文所有观点仅代表创作者本人,ECode1024系信息收集发布平台,ECode1024仅提供信息存储以及展示服务。若有侵权,请联系我们删除。
回复
  • 暂无任何回复,抢个沙发吧~~
推荐阅读
layui

微信扫码关注 ECode1024 公众号带给你更多优质内容