java版b2b2c社交电商spring cloud分布式微服务-介绍一下Spring Cloud微服务架构

Spring Cloud作为一套微服务治理的框架,几乎考虑到了微服务治理的方方面面,之前也写过一些关于Spring Cloud文章,主要偏重各组件的使用,本次分享主要解答这两个问题:Spring Cloud在微服务的架构中都做了哪些事情?Spring Cloud提供的这些功能对微服务的架构提供了怎样的便利?

传统架构发展史

单体架构

单体架构在小微企业比较常见,典型代表就是一个应用、一个数据库、一个web容器就可以跑起来,比如我们开发的开源软件云收藏,就是标准的单体架构。

在两种情况下可能会选择单体架构:一是在企业发展的初期,为了保证快速上线,采用此种方案较为简单灵活;二是传统企业中垂直度较高,访问压力较小的业务。在这种模式下对技术要求较低,方便各层次开发人员接手,也能满足客户需求。

下面是单体架构的架构图:

在单体架构中,技术选型非常灵活,优先满足快速上线的要求,也便于快速跟进市场。

垂直架构

在单体架构发展一段时间后,公司的业务模式得到了认可,交易量也慢慢的大起来,这时候有些企业为了应对更大的流量,就会对原有的业务进行拆分,比如说:后台系统、前端系统、交易系统等。

在这一阶段往往会将系统分为不同的层级,每个层级有对应的职责,UI层负责和用户进行交互、业务逻辑层负责具体的业务功能、数据库层负责和上层进行数据交换和存储。

下面是垂直架构的架构图:

在这个阶段SSH(struts+spring+hibernate)是项目的关键技术,Struts负责web层逻辑控制、Spring负责业务层管理Bean、Hibernate负责数据库操作进行封装,持久化数据。

服务化架构

如果公司进一步的做大,垂直子系统会变的越来越多,系统和系统之间的调用关系呈指数上升的趋势。在这样的背景下,很多公司都会考虑服务的SOA化。SOA代表面向服务的架构,将应用程序根据不同的职责划分为不同的模块,不同的模块直接通过特定的协议和接口进行交互。这样使整个系统切分成很多单个组件服务来完成请求,当流量过大时通过水平扩展相应的组件来支撑,所有的组件通过交互来满足整体的业务需求。

SOA服务化的优点是,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。

服务化架构是一套松耦合的架构,服务的拆分原则是服务内部高内聚,服务之间低耦合。

下面是服务化架构图:

在这个阶段可以使用WebService或者dubbo来服务治理。
需要JAVASpring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码请加企鹅求求:三五三六二四七二五九

原文地址:https://www.cnblogs.com/itcode-code/p/11167870.html

时间: 2024-10-13 17:58:30

java版b2b2c社交电商spring cloud分布式微服务-介绍一下Spring Cloud微服务架构的相关文章

java版b2b2c社交电商spring cloud分布式微服务(二)Eureka(服务注册和服务发现基础篇)

一:Eureka简介 电子商务社交平台源码请加企鹅求求:叁五叁六贰四柒贰五九.   Eureka是Spring Cloud Netflix的一个子模块,也是核心模块之一.用于云端服务发现,一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移. 服务注册与发现对于微服务系统来说非常重要.有了服务发现与注册,你就不需要整天改服务调用的配置文件了,你只需要使用服务的标识符,就可以访问到服务.他的功能类似于dubbo的注册中心(register). 服务发现:服务发现是微服务基础架构

java版b2b2c社交电商spring cloud分布式微服务(十)高可用的服务注册中心

电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.文章 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka) 介绍了服务注册与发现,其中服务注册中心Eureka Server,是一个实例,当成千上万个服务向它注册的时候,它的负载是非常高的,这在生产环境上是不太合适的,这篇文章主要介绍怎么将Eureka Server集群化. 一.准备工作 Eureka通过运行多个实例,使其更具有高可用性.事实上,这是它默认的熟性,你需要做的就是给对等的实例一个合法的关联

java版b2b2c社交电商spring cloud分布式微服务(八)开发Web应用(2)

在完成配置之后,举一个简单的例子,在快速入门工程的基础上,举一个简单的示例来通过Thymeleaf渲染一个页面. @Controller public class HelloController { @RequestMapping("/") public String index(ModelMap map) { // 加入一个属性,用来在模板中读取 map.addAttribute("host", "http://blog.didispace.com&qu

java版b2b2c社交电商spring cloud分布式微服务 - particle云架构代码结构详细讲解

spring cloud云服务架构 - particle云架构代码结构,简单的按照几个大的部分去构建代码模块,让我们来回顾一下: 第一部分: 针对于普通服务的基础框架封装(entity.dao.service.controller.api)等第二部分: spring cloud通用微服务项目,可以监控左右微服务,当然,本身自己也是微服务.第三部分: 针对于框架内所有组件的封装,可以植入任何的模块项目中.第四部分: 自身项目的微服务业务,比如:会员模块.消息模块.资金模块.订单模块等. 我们针对于

java版b2b2c社交电商spring cloud分布式微服务-Spring Cloud各个组件的配套使用

我们从整体上来看一下Spring Cloud各个组件如何来配套使用: 从上图可以看出Spring Cloud各个组件相互配合,合作支持了一套完整的微服务架构. 其中Eureka负责服务的注册与发现,很好将各服务连接起来Hystrix 负责监控服务之间的调用情况,连续多次失败进行熔断保护.Hystrix dashboard,Turbine 负责监控 Hystrix的熔断情况,并给予图形化的展示Spring Cloud Config 提供了统一的配置中心服务当配置文件发生变化的时候,Spring C

java版b2b2c社交电商spring cloud分布式微服务—服务网关过滤器

过滤器作用我们的微服务应用提供的接口就可以通过统一的API网关入口被客户端访问到了.但是,每个客户端用户请求微服务应用提供的接口时,它们的访问权限往往都需要有一定的限制,系统并不会将所有的微服务接口都对它们开放.然而,目前的服务路由并没有限制权限这样的功能,所有请求都会被毫无保留地转发到具体的应用并返回结果,为了实现对客户端请求的安全校验和权限控制,最简单和粗暴的方法就是为每个微服务应用都实现一套用于校验签名和鉴别权限的过滤器或拦截器. 不过,这样的做法并不可取,它会增加日后的系统维护难度,因为

java版b2b2c社交电商Spring Cloud构建微服务架构-服务注册与发现

Spring Cloud简介Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理.服务发现.断路器.智能路由.微代理.控制总线.全局锁.决策竞选.分布式会话和集群状态管理等操作提供了一种简单的开发方式. Spring Cloud包含了多个子项目(针对分布式系统中涉及的多个不同开源产品),比如:Spring Cloud Config.Spring Cloud Netflix.Spring Cloud0 CloudFoundry.S

java版b2b2c社交电商spring cloud分布式微服务-springcloud应用程序上下文层次结构

如果您从SpringApplication或SpringApplicationBuilder构建应用程序上下文,则将Bootstrap上下文添加为该上下文的父级.这是一个Spring的功能,即子上下文从其父进程继承属性源和配置文件,因此与不使用Spring Cloud Config构建相同上下文相比,“主”应用程序上下文将包含其他属性源.额外的财产来源是: “bootstrap”:如果在Bootstrap上下文中找到任何PropertySourceLocators,则可选CompositePro

java版b2b2c社交电商spring cloud分布式微服务-Spring Cloud Config 快速开始

启动服务器: 启动服务器: 该服务器是一个Spring Boot应用程序,所以您可以从IDE运行它,而不是喜欢(主类是ConfigServerApplication).然后尝试一个客户端: $ curl localhost:8888/foo/development {"name":"development","label":"master","propertySources":[ {"name&q