1.网站架构演变过程 传统架构、分布式架构、微服务架构

1.网站架构演变过程 传统架构、分布式架构、微服务架构;
   从传统架构(单点应用)-->分布式架构(以项目进行拆分)--》SOA架构(面向服务架构)--》微服务架构
     a.传统架构:SSH或SSM架构,属于单点应用,把整个业务模块都放到一个项目中进行开发,分为MVC架构,会拆分业务逻辑层、控制层、数据库访问层。
     com.controller
     com.service
     com.dao
     一般只适合个人或者小团队开发;
 缺点:耦合度太高,一旦某个模块导致服务不可用,可能会影响整个项目;

  当多个开发人员开发同一个项目,可能产生的什么问题?
    1.代码冲突,业务不好分配,容易冲突;
  b.分布式架构是在传统架构上演变来的,将传统的项目以项目模块进行拆分成N多个子项目,
    比如会员项目,订单项目,支付项目等,每个项目中都有自己独立的数据库,独立的redis等;
    
    项目表达的意思:包含业务逻辑层和视图层;
    服务表达的意思:保护业务逻辑层,没有视图层;

    会员项目:登陆,注册,修改密码;
    订单项目:下单、查询订单; 
  c.SOA架构是基于分布式架构演变过来的,SOA架构代表面向服务架构(服务化),可理解为面向业务逻辑层开发,
     将共同的业务逻辑抽取出来形成一个服务,提供给其他服务接口进行调用,服务与服务之间使用rpc远程
     技术进行通信;

  d.微服务架构是基于SOA架构演变而来的;比SOA架构上粒度更加精细,
    让专业的人做专业的事情(更加专注),目的是为了提供效率;
    每个服务之间是互补影响的,每个服务必须独立部署(独立的数据库,独立的redis),
    微服务架构更加体现轻量级,采用resful风格提供APi(即采用http+json格式),更加轻巧,
    更加适合于互联网公司敏捷开发(快速迭代产品);
总结:
  1.分布式架构与传统架构区别:
    项目粒度更加细,更适合于互联网公司开发,耦合度降低了;
  
     
I.SpringCloud解决什么问题?
      配置管理(注册中心eureka、zk)、服务发现、服务注册、断路器、
  路由策略、负载均衡、全局锁、分布式会话、客户端调用、接口网关、服务管理系统;
  SpringCloud是一套微服务解决方案---rpc远程调用;
  
关系:Springcloud依赖于Springboot;

II.Maven聚合项目是不是分布式项目:不完全
 可以将传统的项目,以maven聚合方式分为
 csesteel-web,
 csesteel-service,
 csesteel-dao 最终打成一个war; 

 最终区别是打成war或jar,多个jvm相互通信
 
2.微服务架构与SOA架构区别;
   1.SOA是基于分布式架构演变过来的,SOA架构代表面向服务架构(服务化),集成了SOA架构的优点;在微服务架构中去除SOA架构中的ESB消息总线,采用http+json(restful)进行传输;   2.微服务架构比SOA架构粒度会更加精细,让专业的人做专业的事情,目的是提高效率,每个服务于服务之间互不影响,微服务架构中,每个服务必须独立部署,微服务架构更加轻巧,轻量级;   3.SOA架构中可能数据库存储会发生共享,微服务强调独立每个服务都是独立数据库,保证服务与服务之间互不影响;   4.项目体现特征微服务架构比SOA架构更加谁会与互联网公司敏捷开发,快速迭代版本,英文粒度更加精细;

服务概念(接口):将共同的业务逻辑进行拆分,拆分成独立一个项目进行部署;
  RPC远程调用框架(多个应用之间实现通信):httpClient,dubbo,springcloud,grpc核心底层是socket技术或netty技术实现;
  SOA架构的特点:底层基于SOAP或者ESB(消息总线)实现,底层使用http或https协议+重量级的xml数据交换格式进行通                信;在微服务中用json格式替代了xml格式;

总结:SOA架构是面向服务架构,SOAP简单对象协议+xml;

3.微服务架构产生的原因;
微服务架构是基于SOA演变过来的;
   SOA架构的缺点
     1.依赖中心化服务发现机制;
     2.因为SOA架构采用SOAP协议(http+xml),
        因为xml传输协议比较占用宽带,整个xml报文中有非常大的冗余数据;
        所以在微服务架构中以json轻量级方式替代xml报文传输;
     3.服务管理混乱,缺少服务管理和治理设施;

4.微服务架构中团队是如何划分;
在项目中可考虑微服务架构支持pc端,微信端,h5;
服务化在SoA层已经实现,只不过微服务架构在服务层又进行了细分服务; 
    会员服务可以进行细分:
    会员基本组件(登陆,注册)
    会员联合SSO服务(单点登录)
    会员积分服务
    会员充值服务
    服务之间是可以使用rpc远程调用技术进行通信;
 会员充值需要调用会员服务(登录),订单服务(下单),支付服务(支付),结算服务(结算),对账服务(对账),短信服务(短信)
5.为什么选择springcloud微服务框架;
      因为springcloud是目前来说,是一套比较完整的微服务解法方案框架,
   不像其他的rpc远程调用框架,只是解决了微服务中的问题;SpringCloud提供了一套
   完整的解法方案(分布式配置中心,分布式锁,分布式跟踪,分布式服务治理,
   分布式任务调度平台......);
   服务治理:阿里Dubbo和当当在其基础上拓展的Dubbox,Eureka,
             
             Apache的Consul等;
    分布式配置中心:百度disconf,NetFlix的Archaius,360的Qconf,SpringCloud,携程的阿波罗等;
    分别式任务:xxl-job,elastic-job,springCloud的task等;
    服务跟踪:jd的hyra,springCloud的sleuth等;
6.springcloud微服务框架简介;
   Springcloud是基于Springboot基础上开发的微服务框架,SpringCloud是一套相对完善的微服务解决方案框架,其内容包含了服务治理,注册中心,配置管理,断路器,智能路由,微代理,控制总线,全局锁,分布式会话等;
   SpringCloud 包含了众多的子项目;
   SpringCloud config 分布式配置中心;
   SpringCloud netflix核心组件
           Eureka:服务治理 注册中心;
           Hystrix:服务保护框架
           Ribbon:客户端负载均衡器
           Feign:基于ribbon和hystrix的声明式服务调用组件;
           zuul:网关组件,提供智能路由,访问过滤等功能;

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值