当前位置: 首页 > news >正文

微服务架构设计模式-(14)面向生产环境

生产环境要求

  • 应用安全
    • 数据
    • 权限
  • 服务可配置性
    • 不同环境的配置不一样,不能写死代码,所以要配置
  • 可观测性
    • 需要日志系统

应用安全

  • 四个方面
    • 身份验证
      • 验证主体的身份
      • 解决方案
        • 单体
          • cookie
        • 微服务中
          • API Gateway
            • 访问令牌
              • 不透明令牌
              • 透明令牌,如JWT
    • 访问授权
      • 防止接口被非法调用
      • 解决方案
        • 单体
          • 基于角色的授权
        • 微服务
          • 可以借鉴单体,ACL
    • 审计
      • 用户操纵合规性
        • 单体
          • 一个数据库就够了
        • 微服务
          • 业务自己实现吧
    • 进程间通信
      • SSL
      • 放篡改之类的
      • 解决方案
        • 单体
          • 实际只有一个服务,使用内存上下文就可以保证安全了
        • 微服务
          • 服务之间需要通信的
          • SSL

配置

  • 推送模型
    • 部署之后,推送给服务实例
  • 拉取模型
    • 服务实例读取需要的

可观测

  • 需求
    • API健康检查
      • 接口状况
        • 状态码统计
    • 日志聚合
      • 统一的地方进行日志搜索,报警设置
      • 解决
        • 日志流水线
        • 流行的有ELK套件
          • es:日志记录服务器
          • Logstash:聚合服务日志,并写入es
          • Kibana:es可视化工具
    • 分布式跟踪
      • 不同服务的日志串起来
        • 使用一个ID,将请求串起来
      • 四个值
        • 应用名
        • traceId,请求ID
        • spanId
          • 跨度ID
          • 一个服务中一个span
        • 是否导出到分布式追踪服务器
    • 异常跟踪
      • 异常串起来
    • 应用程序指标
      • 运维指标,idle这样的
      • 分类
        • 系统指标
        • 业务指标
      • 如何实现指标采集
        • 推送
          • 服务实例调用API到指标服务
        • 拉取
          • metrics Service调用服务实例接口
            • 定时拉取
          • 著名的是Prometheus
    • 审核日志记录
      • 用户的操纵
      • 实现
        • 审计日志的记录动作添加到业务逻辑中
        • 面向切面编程
          • 拦截每个服务的方法调用
          • 比如AOP
        • 使用事件溯源
          *
      • 我理解这部分可能属于业务自己做

微服务基地

  • 一个框架
  • 处理
    • 外部化配置
    • 健康检查
    • 应用程序指标
    • 服务发现
    • 断路器
    • 分布式追踪

服务网格

  • 把所有进出的网络流量通过网络层进行路由,这个网络层负责解决共性的问题
    • 断路器
    • 分布式追踪
    • 服务发现
    • 负载均衡
    • 基于规则的流量路由
      • 就是可以配置那些流量走到哪台机器
http://www.lryc.cn/news/12176.html

相关文章:

  • HTML5新增用法
  • 富足金字塔:人的努力是为了扩大选择的范围
  • C++类基础(十七)
  • LeetCode刷题复盘笔记—一文搞懂贪心算法之56. 合并区间(贪心算法系列第十四篇)
  • Andriod入门级开发
  • DCL 数据控制语言
  • 全网超详细的下载与安装VMware虚拟机以及为什么要安装VMware虚拟机
  • Python获取zabbix问题触发器
  • 原型链污染
  • ClickHouse详解
  • 02_Docker 安装
  • K8S集群将Docker切换到Containerd
  • Kubernetes03:kubernetes 功能和架构
  • LabVIEW中CPU和内存使用情况在NI分布式系统管理器中不可见
  • buu [NPUCTF2020]Classical Cipher 1
  • 分享96个HTML体育竞技模板,总有一款适合您
  • Python pandas「原有或者新建」Excel中「追加新或者新建」sheet
  • 程序员必备的软技能- CPU“没有灵魂的躯体”
  • 基于微信小程序的青少年生理健康知识小助手
  • 【scl】博图程序的导入和导出
  • 【C语言】指针进阶
  • 18:CTK 总结篇(FAQ)
  • 概论_第7章_参数估计_真题__求置信区间
  • Go 1.21的2个语言变化
  • Mysql(一)架构、存储引擎、数据结构
  • php 项目网站怎么实现负载均衡?
  • win11+pytorch1.7.0+python3.8(也可以是python3.7)+cuda11.0
  • 基于jeecgboot的flowable流程设计器的几个bug修复
  • SAP MM 配置变式物料
  • Quartz与SpringBoot 搞定任务调度