专业的编程技术博客社区

网站首页 > 博客文章 正文

一、微服务技术-SpringCloud-互联网网站架构演变过程

baijin 2024-10-10 04:20:32 博客文章 12 ℃ 0 评论

1、网址的演变过程

从传统架构(单点应用)-> 分布式架构(以项目进行拆分)->SOA架构(面向服务架构)-> 微服务架构

1>传统服务架构

其实就是SSH 或者SSM,属于单点应用,把整个业务模板都在一个项目开发,分为MVC架构,会拆分为控制层,业务逻辑层和数据库访问层。

com.controller

com.service

com.dao

一般只适合个人或者小团队开发。

缺点:耦合度太高,一旦某个模板导致服务不可用,可能影响整个项目。

2、分布式架构是基于传统架构演变而来的,将传统项目以项目模板进行拆分成n个子项目,比如拆分:会员项目,订单项目,支付项目,优惠券等,每个项目都有自己独立的数据库,rdeis.

会员项目:登录,注册等

订单项目:下单,查询订单

分布式架构和传统架构的区别:

项目粒度分更加细,慢慢适合互联网公司开发,耦合度降低。

项目表达意思:包含业务层和视图层

服务表达意思:只包含业务层

3、SOA架构:基于分布式架构演变而来,面向服务的架构,俗称服务化,可以理解为面向与业务逻辑层。将共同的代码进行抽取出来,提供给其他接口调用。服务与服务之间的调用通过rpc远程调用技术。

服务的概念:将共同的业务逻辑进行拆分,拆分成独立的一个项目进行部署,没有视图层。

服务的概念可以理解为接口。

rpc远程调用的技术框架:

httpclient,springcloud,dubbo,核心底层scoket技术或者netty实现。


4、微服务产生的原因:

SOA 架构的缺点:

1、依赖中心化服务发现机制。

2、因为SOA架构采用SOAP协议(http+xml),xml传输比较占用宽带,整个xml报文有很多冗余数据,所以微服务以轻量级json代替xml方式。

3、服务管理比较混乱,缺少服务管理和治理设施不完善。

微服务架构模式

微服务架构基于SOA架构演变而来,比SOA架构上的粒度更加精细。让专业的人做专业的事(更加专注),目的是提高效率。每个服务之间互不影响,每个服务必须独立部署(独立的数据库等),微服务架构更加轻量级,采用resttful风格提供API,也就是http协议+json格式进行传输。更加的轻巧,更加适合互联网公司敏捷开发,快速迭代产品。

微服务和SOA 架构什么区别:

1.微服务架构基于 SOA架构 演变过来,继承 SOA架构的优点,在微服务架构中去除 SOA 架构中的 ESB 消息总线,采用 http+json(restful)进行传输。

2.微服务架构比 SOA 架构粒度会更加精细,让专业的人去做专业的事情(专注),目的提高效率,每个服务于服务之间互不影响,微服务架构中,每个服务必须独立部署,微服务架构更加轻巧,轻量级。

3.SOA 架构中可能数据库存储会发生共享,微服务强调独每个服务都是单独数据库,保证每个服务于服务之间互不影响。

4.项目体现特征微服务架构比 SOA 架构更加适合与互联网公司敏捷开发、快速迭代版本,因为粒度非常精细。

SpringCloud是基于SpringBoot基础之上开发的微服务框架,SpringCloud是一套目前非常完整的微服务解决方案框架,其内容包含服务治理、注册中心、配置管理、断路器、智能路由、微代理、控制总线、全局锁、分布式会话等。


SpringCloud包含众多的子项目

SpringCloud config 分布式配置中心

SpringCloud netflix 核心组件

Eureka:服务治理 注册中心

Hystrix:服务保护框架

Ribbon:客户端负载均衡器

Feign:基于ribbon和hystrix的声明式服务调用组件

Zuul: 网关组件,提供智能路由、访问过滤等功能。



Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表