1,分布式架构
分布式架构基于传统架构演变过来,将传统的单体项目模块进行拆分,拆分为会员项目,订单项目,支付项目,优惠券项目等,从而降低耦合度,这种项目架构模式慢慢开始适合于互联网人开发。
2,SOA架构
soa架构代表面向与服务架构,俗称服务化,通俗的理解为面向与业务逻辑层开发,将共同的业务逻辑抽取出来形成一个服务,提供给其他服务接口进行调用,服务与服务使用rpc远程技术。
soa架构特点 :
1,soa架构中通常使用xml方式实现通讯,在高并发情况下xml比较冗余会带来极大的影响,所以最后微服务架构中采用json 替代xml方式
2,SOA架构的底层是实现通过WebService和ESB(xml与中间件混合物),Web Servie技术是SOA服务化的一种实现方式,webService底层采用soap协议进行通讯,soap协议就是http 或者Https通道传输XML数据实现的协议。
微服务架构
微服务架构产生的原因
微服务架构基于SOA架构演变过来的,
在传统的WebService架构中有如下问题
1,依赖中心化服务发现机制
2,使用Soap通讯协议,通常使用XML格式 来序列化通讯数据,xml格式非常喜欢重,比较占宽带运输
3,服务化管理和治理设置不完善
漫谈微服务架构
什么是微服务
微服务架是从SOA架构演变过来,比SOA架构粒度更加精细,让专业的人去专业的事(专注)。目的提高效率。每个服务于服务之间互不影响,微服务架构中,每个服务必须独立部署,互不影响,将微服务架构更加体现轻巧,轻量级,是适合于互联网公司敏捷开发
微服务架构特征
微服务架构倡导应用程序设计程多个独立,可配置,可运行和可微服务的子服务。服务与服务通讯协议采用http协议,使用restful 风格API形式来进行通讯,数据交换格式轻量级json格式通讯,整个传输过程中,采用二进制,所以http协议可以跨语言平台,并且可以和其他不同的语言进行相互通讯,所以很多开放平台都采用http协议接口
微服务架构如何拆分
1,微服务把每一个职责单一功能存放在独立的服务中
2,每个服务运行在单独的进程中
3,每个服务有自己独立数据库存储,实际上有自己独立的缓存,数据库,消息队列等资源。
微服务架构与SOA架构区别
1,微服务基于SOA架构演变而来,继承SOA架构的优点,在微服务架构中去除SOA架构中的ESB消息总线,采用http+json(restful)进行传输
2,微服务架构比SOA架构粒度会更加精细,让专业的人去做专业的事,目的提高效率,每个服务于服务之间互不影响,微服务架构中,每个服务必须独立部署,微服务架构更加轻巧,轻量级。
3,SOA架构中可能数据库存储会发生共享,微服务架构强调单独每个服务都是单独数据库,保证每个服务之间互不影响。
4,项目体现特征微服务架构比SOA架构更加适合互联网公司敏捷开发,快速迭代版本,因为粒度非常精细。
SpringCloud 微服务架构
因为SpringCloud出现,对微服务技术提供了非常大的帮助,因为SpringCloud提供了一套完整的微服务架构解决方案,不惜那个其他架构只是解决了微服务中每个问题。
服务治理: 阿里巴巴开源的Dubbo和当当网在其基础上扩展的Dubbox,Eureka,Apache的Consul等
分布式配置中心:百度的disconf,Netfix的Archaius,360,的Qconf,SpringCloud,携程的阿波罗等。
分布式任务:xxl-job,elastic-job,springcloud的task等。
服务跟踪:京东的hyra,springcloud的sleuth等
SPringCloud简介
SpringCloud简介
SpringCloud设计基于SpringBoot基础上开发的微服务框架,SPringCloud是一套目前非常完整的微服务解决方案框架,其内容包含服务治理,注册中心,配置管理,断路器,智能路由,微代理,控制总线,全局锁,分布式绘话等。
SpringCloud包含众多的子项目
SpringCloud config 分布式配置中心
SpringCloud netflie 核心组件
Eureka:服务治理 注册中心
Hystrix:服务保护框架
Ribbon: 客户端负载均衡器
Feign:基于ribbon和hystrix的声明式服务调用组件
Zuul: 网关组件,提供智能路由,访问过滤等功能。
服务治理SpringCloud Eureka
什么是服务治理
在传统rpc远程调用汇总