• 微服务架构学习


    一、架构体系

           首先是前端UI框架,前端UI框架主要是调用数据接口,多服务都访问网关进行数据请求操作。前端框架随意选,无要求。

           GateWay,网关负责对所有的请求拦截,鉴权授权,对请求缓存,限流,降级,熔断等操作,保护服务实例,防止服务实例外泄。并且提供负载均衡算法和其他附加功能。这里的框架使用的是Ocelot。

           Consul作为服务实例集群注册与发现。能实现服务集群的动态管理,自动检测【比如心跳检测】,自动销毁错误的集群服务实例。这一点比Ngnix要好。

           服务集群,可以是相同的代码发布在不同的进程,机器,以及域中,具体的代码逻辑就在这里。

           DB,数据库,存储数据。可以分库分表,也可以数据库集群,无限制。

     二、服务集群搭建

            

            这里用的典型的接口形式,Model类库层,Service接口类库和Service类库,以及写逻辑的ServiceInstance服务实例。

            ServiceInstance服务实例中,需要有些配置的地方。

            1、支持传递命令行参数。

            

           2、注册接口中间件,并引用Consul,这样每次当服务实例启动的时候都会向Consul注册,之后consul会主动发起检测调用端口,即接口健康检查,如果接口在单位时间里能正常返回,这断言该接口还生存,如果服务实例挂掉,或者其他原因,导致没有及时响应,则consul会断言该服务接口实例死亡,在60秒或者更久的设定时间【官方文档至少是60秒】,该服务实例会被自动排除。

           

     3、心跳健康检查。

           写一个接口,可以直接返回ok,Consul会检查这个接口,如果调用成功,则判定该服务实例还在生存。

          

         4、Consul配置文件,配置好后写入服务实例startup

          

          5、网关配置,具体要看官网:https://ocelot.readthedocs.io/en/latest/index.html

          

          6、添加配置文件。

          

          7、startup配置

          

          8、每个节点模块单独做集群,单独部署。

                源代码:链接: https://pan.baidu.com/s/1sPjMNjuLiHSHhSnDH6XeQg 提取码: 7czg 

                源代码只是基本实现了部分功能,并经过了实际的测试,后期需要使用的朋友,需要自行扩充哈,很多功能还需要继续完善和测试。

  • 相关阅读:
    js下拉框二级关联菜单效果代码具体实现
    js实现拉伸拖动iframe的具体代码
    mysql--Ubuntu下设置MySQL字符集为utf8
    python--使用MySQL数据库
    python--笨方法学python 习题52
    python--web.py使用
    python--flask使用
    python--类方法、对象方法、静态方法
    Python--类定义
    堆 在游戏中的运用
  • 原文地址:https://www.cnblogs.com/xiaobaicai12138/p/13390868.html
Copyright © 2020-2023  润新知