• 微服务


    web 服务的发展

    单体架构--->SOA(面向服务的架构,多机器处理)-->ESB(加入集群总线技术的SOA服务结构)----->微服务架构(服务网关,服务治理,服务之间负载均衡,服务注册和发现组成的SOA服务)---->数据中台思想(基于微服务,在业务流程中增加通用数据处理综合层次结构)

    主要是从单个到多个,多个初步协作,多个中间协作限流安全,从业务处理过程中增加一层。

    微服务:

    微服务按照数据业务关系,对于原先大的一个统一的web系统进行拆分,拆分成为多个小的web系统。

    优点:带来单个业务点,单个开发,单个上线。

    缺点: 带来业务复杂度,整体项目的维护成本提高。

    整体:有点大于缺点,对于稍微大一点项目值得使用。

    SOA和RestFull说明

    SOA和RestFull一样不是一种技术约束,是一种提供接口内容的规范。

    SOA: 首先约定你的web 项目需要有一个统一命名的接口,去查询到你的web服务有什么样的接口服务和接口服务的参数类型。。。。告诉别人你的web服务器上的服务内容。

    RestFull风格的服务在SOA的服务基础之上约定内容和形式更多。约定接口URL的定义形式,URL的定义需要能够体现你的服务器上能够提供资源对应。

    SOA和RestFull规范上来说,都是想在约定基础上,让别人跟清楚方便的理解你的web服务能力和怎么使用。

    服务规范更好,不是很符合的情况下,可以在进行调用接口说明。当前有的Sweeger接口文档浏览等。

    当前微服务的架构

    基于SpringCloud 的微服务快速搭建。

    基于dubbo的微服务架构。

    基于微服务架构的整个系统更复杂:

    涉及到多个进程,原先JAVA技术中的基于单个JVM实现的锁,对象调用技术不再试用。所以有了远程过程调用RPC和分布式锁。

    分布式事务

    2PC:两个阶段提交分布式事务,预提交事务主要进行事务锁定,事务的redo的log和undo的log的写入,提交阶段进行事务提交,释放锁。容易造成锁无法释放,阻塞,数据不一致问题。
    3PC:预处理,预提交,提交,在预处理阶段保证协调节点与处理节点连通,切协调节点能够处理数据。预提交阶段进行redo和undo的写入,对于数据进行处理。提交阶段,对于数据进行提交。
    TCC:分为try,cancel,commit 不基于数据库的事务,在程序处理中,保证数据的正确性。需要提供try接口锁定资源,cancel进行取消任务,commit进行提交处理。需要注意cancel接口允许在try之间调用。
    当前主要的分布式事务的解决方案:

    阿里开源的Seata:

     历史:XTS->DTX->TXC->GTS->Fescar->Seata
     官网:http://seata.io/en-us/docs/user/quickstart.html
    LNC:
      https://blog.csdn.net/baidu_36415076/article/details/79599619
      https://github.com/codingapi/tx-lcn/wiki/zh_home
    分布式锁:参考分布式集群中分布式锁
    微服务注册方法:Spring Cloud Consul,alibaba 的nacos
    微服务的网关:SpringCloud gatway(推荐),zuul,niginx
    微服务的配置中心:Spring Cloud Consul Nacos
    微服务的负载均衡:Spring Cloud Ribbon
    微服务限流:
    微服务安全认证:
    微服务运行监测:
    服务全量链路追踪:

     服务端的C10K问题,是指服务端同时处理10000个请求连接时候,性能耗尽的问题。当前已经不存在,当前C1000K问题。

     https://www.cnblogs.com/wenyule/p/14019212.html

     

     

     

     

  • 相关阅读:
    Delphi Stream(流)介绍
    springboot 启动慢分析
    内网穿透NPS
    Docker非root用户使用
    springBoot项目中的log导入,ELK
    基于Addrparser根据经纬度分析所在地区位置
    java ArrayList条件排序
    未完成事项记录
    Python数据挖掘——银行分控模型的建立
    unity ugui的拖拽与放置
  • 原文地址:https://www.cnblogs.com/AiYaTou/p/13586819.html
Copyright © 2020-2023  润新知