java B2B2C Springcloud仿淘宝电子商城系统-Spring Cloud核心特性

Spring Cloud做为一套微服务治理的框架,几乎考虑到了微服务治理的方方面面,以前也写过一些关于Spring Cloud文章,主要偏重各组件的使用,本次分享主要解答这两个问题:Spring Cloud在微服务的架构中都作了哪些事情?Spring Cloud提供的这些功能对微服务的架构提供了怎样的便利?须要了解电子商务平台源码可加企鹅邱邱一零三八七七四六二六哦
传统架构发展史
单体架构
单体架构在小微企业比较常见,典型表明就是一个应用、一个数据库、一个web容器就能够跑起来,好比咱们开发的开源软件云收藏,就是标准的单体架构。
在两种状况下可能会选择单体架构:一是在企业发展的初期,为了保证快速上线,采用此种方案较为简单灵活;二是传统企业中垂直度较高,访问压力较小的业务。在这种模式下对技术要求较低,方便各层次开发人员接手,也能知足客户需求。
下面是单体架构的架构图:前端

在单体架构中,技术选型很是灵活,优先知足快速上线的要求,也便于快速跟进市场。
垂直架构
在单体架构发展一段时间后,公司的业务模式获得了承认,交易量也慢慢的大起来,这时候有些企业为了应对更大的流量,就会对原有的业务进行拆分,好比说:后台系统、前端系统、交易系统等。
在这一阶段每每会将系统分为不一样的层级,每一个层级有对应的职责,UI层负责和用户进行交互、业务逻辑层负责具体的业务功能、数据库层负责和上层进行数据交换和存储。
下面是垂直架构的架构图:web

在这个阶段SSH(struts+spring+hibernate)是项目的关键技术,Struts负责web层逻辑控制、Spring负责业务层管理Bean、Hibernate负责数据库操做进行封装,持久化数据。
服务化架构
若是公司进一步的作大,垂直子系统会变的愈来愈多,系统和系统之间的调用关系呈指数上升的趋势。在这样的背景下,不少公司都会考虑服务的SOA化。SOA表明面向服务的架构,将应用程序根据不一样的职责划分为不一样的模块,不一样的模块直接经过特定的协议和接口进行交互。这样使整个系统切分红不少单个组件服务来完成请求,当流量过大时经过水平扩展相应的组件来支撑,全部的组件经过交互来知足总体的业务需求。
SOA服务化的优势是,它能够根据需求经过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,能够直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。
服务化架构是一套松耦合的架构,服务的拆分原则是服务内部高内聚,服务之间低耦合。
下面是服务化架构图:spring

在这个阶段可使用WebService或者dubbo来服务治理。
SOA和微服务的区别
其实服务化架构已经能够解决大部分企业的需求了,那么咱们为何要研究微服务呢?先说说它们的区别;
微服务架构强调业务系统须要完全的组件化和服务化,一个组件就是一个产品,能够独立对外提供服务
微服务再也不强调传统SOA架构里面比较重的ESB企业服务总线
微服务强调每一个微服务都有本身独立的运行空间,包括数据库资源。
微服务架构自己来源于互联网的思路,所以组件对外发布的服务强调了采用HTTP Rest API的方式来进行
微服务的切分粒度会更小
总结:微服务架构是 SOA 架构思想的一种扩展,更增强调服务个体的独立性、拆分粒度更小。
为何考虑Spring Cloud
Spring Cloud来源于Spring,质量、稳定性、持续性均可以获得保证
Spirng Cloud自然支持Spring Boot,更加便于业务落地。
Spring Cloud发展很是的快,从16年开始接触的时候相关组件版本为1.x,到如今将要发布2.x系列
Spring Cloud是Java领域最适合作微服务的框架。
相比于其它框架,Spring Cloud对微服务周边环境的支持力度最大。
对于中小企业来说,使用门槛较低。
Spring Cloud 是微服务架构的最佳落地方案
如下为Spring Cloud的核心特性:
分布式/版本化配置
服务注册和发现
路由
服务和服务之间的调用
负载均衡
断路器
分布式消息传递
这些特性都是由不一样的组件来完成,在架构的演进过程当中扮演着重要的角色。数据库

相关文章
相关标签/搜索