当前位置: 首页 > 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
        • 使用事件溯源
          *
      • 我理解这部分可能属于业务自己做

微服务基地

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

服务网格

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

相关文章:

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

生产环境要求 应用安全 数据权限 服务可配置性 不同环境的配置不一样,不能写死代码,所以要配置 可观测性 需要日志系统 应用安全 四个方面 身份验证 验证主体的身份解决方案 单体 cookie 微服务中 API Gateway 访问令牌 不透明令牌透明令牌&#xff…...

HTML5新增用法

新增语义化标签 并无特殊含义&#xff0c;是语义&#xff01;语义&#xff01;语义&#xff01; <header> 头部区域 <nav> 导航区域 <main> 主体区域 <article> 内部标签 <section> 块级标签 <aside> 侧边栏标签 <footer> 尾部…...

富足金字塔:人的努力是为了扩大选择的范围

人的努力是为了扩大选择的范围&#xff0c;这是熵减的另一种表述。富足金字塔代表着人生的三重境界。第一层是温饱。人需要食物、水、住所。第二层是品质。能源、ICT、教育带来更有品质的生活&#xff0c;如智能门锁、智能马桶、扫地机、洗碗机、洗衣烘衣机。第三层是梦想。包括…...

C++类基础(十七)

类的继承——补充知识 ● public 与 private 继承&#xff08;C Public, Protected and Private Inheritance&#xff09; 改变了类所继承的成员的访问权限 //公有继承 struct Base { public:int x; private:int y; protected:int z; }; struct Derive : public Base //公有继承…...

LeetCode刷题复盘笔记—一文搞懂贪心算法之56. 合并区间(贪心算法系列第十四篇)

今日主要总结一下可以使用贪心算法解决的一道题目&#xff0c;56. 合并区间 题目&#xff1a;56. 合并区间 Leetcode题目地址 题目描述&#xff1a; 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间…...

Andriod入门级开发

这学期有个课设&#xff0c;我们组我负责一个手机APP的开发&#xff0c;虽然刚开始说要实现什么智能导航&#xff0c;类似高德地图那种&#xff0c;但最后阉割的只剩一个Socket通信了&#xff0c;因为之前没有接触过&#xff08;可能之后也不会再接触&#xff09;&#xff0c;记…...

DCL 数据控制语言

1、简介 DCL英文全称是Data Control Language(数据控制语言)&#xff0c;用来管理数据库用户、控制数据库的访问权限。 2、管理用户 2.1 查询用户 select * from mysql.user;查询的结果如下: 其中 Host代表当前用户访问的主机, 如果为localhost, 仅代表只能够在当前本机访问…...

全网超详细的下载与安装VMware虚拟机以及为什么要安装VMware虚拟机

文章目录1. 文章引言2. 下载VMware3. 安装VMware1. 文章引言 我们使用最多的系统是windows系统&#xff0c;因为&#xff0c;国内电脑厂商的操作系统(os)基本是windows系统&#xff0c;比如华为、联想、华硕等电脑。 但线上的服务器大多是Linux系统&#xff0c;而我们经常使用…...

Python获取zabbix问题触发器

背景&#xff1a;阿里云的ECS服务器因为阿里云升级插件&#xff0c;导致安全防护程序重启&#xff0c;产生不同的端口。导致低自动发现注册的端口 大量报警。 解决&#xff1a;杀掉关于因为非业务 变更的端口检测的触发器。 相关文档&#xff1a; Zabbix监控之主机端口监控自…...

原型链污染

目录 前置知识 原型对象 prototype和__proto__的区别 原型链概念 原型链的继承 原型 链污染 原型链污染原理 javascript中可能会存在原型链污染的危险函数 原型链污染的实际应用 JavaScript中可以触发弹窗的函数 前置知识 原型对象 在JavaScript中&#xff0c;每个函…...

ClickHouse详解

一、概念ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。OLAP场景的关键特征绝大多数是读请求数据以相当大的批次(> 1000行)更新&#xff0c;而不是单行更新;或者根本没有更新。已添加到数据库的数据不能修改。对于读取&#xff0c;从数据库中提取相当多的…...

02_Docker 安装

02_Docker 安装 文章目录02_Docker 安装2.1 安装 Docker 的先决条件2.2 在 Ubuntu 和 Debain 中安装 Docker2.2.1 检查前提条件1. 内核2.检查 Device Manager2.2 安装 DockerDocker 支持非常多的Linux平台&#xff0c;包括Ubuntu和RHEL&#xff0c;除此之外&#xff0c;Docker还…...

K8S集群将Docker切换到Containerd

文章目录1. 开启节点维护1.1 将节点设置成不可调度1.2 驱逐节点上的 Pod1.3 停止相关服务2. 升级到 containerd2.1 安装 containerd2.2 调整 containerd 配置2.3 修改 kubelet 启动配置参数3. 重启节点服务4. 验证升级后的节点5. 容器管理工具5.1 容器管理命令行工具对比5.2 cr…...

Kubernetes03:kubernetes 功能和架构

2.1 概述 Kubernetes 是一个轻便的和可扩展的开源平台&#xff0c;用于管理容器化应用和服务。通过 Kubernetes 能够进行应用的自动化部署和扩缩容。在 Kubernetes 中&#xff0c;会将组成应用的容 器组合成一个逻辑单元以更易管理和发现。Kubernetes 积累了作为 Google 生产环…...

LabVIEW中CPU和内存使用情况在NI分布式系统管理器中不可见

LabVIEW中CPU和内存使用情况在NI分布式系统管理器中不可见想使用NI分布式系统管理器监测网络连接实时控制器的CPU和内存使用情况。从左侧窗口的树中选择了感兴趣的实时目标&#xff0c;然后通过选择视图自动视图来确保启用自动查看。希望看到CPU/内存选项卡&#xff0c;但它有显…...

buu [NPUCTF2020]Classical Cipher 1

题目描述&#xff1a; 题目分析&#xff1a; 首先输入密码 {gsv_pvb_rh_zgyzhs} 后&#xff0c;得到&#xff1a;可以得知密码是错误的&#xff0c;再看看密码 {gsv_pvb_rh_zgyzhs} &#xff0c;排列无序&#xff0c;那么尝试用凯撒与栅栏解密&#xff0c;发现还是解不出&…...

分享96个HTML体育竞技模板,总有一款适合您

分享96个HTML体育竞技模板&#xff0c;总有一款适合您 96个HTML体育竞技模板下载链接&#xff1a;https://pan.baidu.com/s/1k2vJUlbd2Boduuqqa0EWMA?pwdj8ji 提取码&#xff1a;j8ji Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 北京奥运火炬PSD模板 奥运…...

Python pandas「原有或者新建」Excel中「追加新或者新建」sheet

1.pandas原有Excel中追加新sheet 使用Pandas库&#xff0c;我们可以轻松将数据追加到现有的Excel工作簿中的新工作表中。以下是追加新工作表的简单步骤&#xff1a; 读取现有的Excel文件 使用Pandas库中的read_excel()函数读取现有的Excel文件。指定Excel文件的路径和文件名&a…...

程序员必备的软技能- CPU“没有灵魂的躯体”

引言 先引用一段比较有意思的论述&#xff1a; 现实中每个人是由两部分构成&#xff0c;灵魂和躯体&#xff0c;灵魂依附于躯体游走于世间&#xff0c;现实中我们面对的每个人其实面对的是其灵魂而非肉体&#xff0c;肉体不过是表象而已。 灵魂本性乃一恶物&#xff0c;寄生于…...

基于微信小程序的青少年生理健康知识小助手

基于微信小程序的青少年生理健康知识小助手 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目…...

深入解析vsync:基于版本化状态流的高并发同步原语

1. 项目概述&#xff1a;一个被低估的同步利器如果你在开发中经常需要处理跨进程、跨线程的数据同步&#xff0c;或者为状态管理中的竞态条件头疼&#xff0c;那么nicepkg/vsync这个项目很可能就是你一直在寻找的“瑞士军刀”。乍一看这个标题&#xff0c;它像是一个普通的版本…...

手把手教你模拟登录淘宝并爬取订单数据:从Cookie维护到反爬突破的完全指南

目录 一、技术选型:为什么最终选择了Playwright? 1.1 那些年被抛弃的方案 1.2 Playwright的优势 1.3 完整的依赖清单 二、登录流程的完整实现 2.1 两种登录方案的权衡 2.2 扫码登录的完整代码 2.3 Cookie持久化机制详解 三、订单列表爬取的两种思路 3.1 方式一:页…...

MegSpot视觉对比工具:3个专业级视觉分析难题的终极解决方案

MegSpot视觉对比工具&#xff1a;3个专业级视觉分析难题的终极解决方案 【免费下载链接】MegSpot MegSpot是一款高效、专业、跨平台的图片&视频对比应用 项目地址: https://gitcode.com/gh_mirrors/me/MegSpot 作为一名视觉内容创作者或质量检测人员&#xff0c;你是…...

taotoken token plan套餐为长期项目带来的成本控制优势

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken Token Plan套餐为长期项目带来的成本控制优势 在持续进行AI功能开发的软件项目中&#xff0c;模型API的调用成本是研发预…...

(Python)Pandas reset_index() 实战解析:从数据混乱到索引清晰

1. 为什么你的Pandas数据总是乱糟糟&#xff1f; 每次处理完数据&#xff0c;看着那个乱七八糟的索引是不是特别头疼&#xff1f;我刚开始用Pandas的时候&#xff0c;经常遇到这样的问题&#xff1a;合并几个表格后索引重复了&#xff0c;分组统计后多出来一堆莫名其妙的层级&a…...

Smithbox终极指南:如何轻松定制你的魂类游戏世界

Smithbox终极指南&#xff1a;如何轻松定制你的魂类游戏世界 【免费下载链接】Smithbox Smithbox is a modding tool for Elden Ring, Armored Core VI, Sekiro, Dark Souls 3, Dark Souls 2, Dark Souls, Bloodborne and Demons Souls. 项目地址: https://gitcode.com/gh_mi…...

企业级AI助手私有化部署:Open WebUI完全指南

企业级AI助手私有化部署&#xff1a;Open WebUI完全指南 【免费下载链接】open-webui User-friendly AI Interface (Supports Ollama, OpenAI API, ...) 项目地址: https://gitcode.com/GitHub_Trending/op/open-webui 在数据安全和隐私保护日益重要的今天&#xff0c;企…...

Proteus仿真PCA9685踩坑实录:示波器不显示PWM波?可能是I2C调试器惹的祸

Proteus仿真PCA9685实战避坑指南&#xff1a;从波形消失到高效调试 当你在Proteus中搭建好PCA9685电路&#xff0c;满心期待看到整齐的PWM波形时&#xff0c;示波器却一片空白——这种挫败感每个电子工程师都经历过。本文将带你深入Proteus仿真的底层逻辑&#xff0c;揭示I2C调…...

ROFL-Player:打破英雄联盟回放观看壁垒的革命性工具

ROFL-Player&#xff1a;打破英雄联盟回放观看壁垒的革命性工具 【免费下载链接】ROFL-Player (No longer supported) One stop shop utility for viewing League of Legends replays! 项目地址: https://gitcode.com/gh_mirrors/ro/ROFL-Player 你是否曾经因为游戏版本…...

AI写专著高效途径:选对工具,一键生成20万字专著不是梦!

一、新手研究者撰写学术专著的困境 对于首次尝试撰写学术专著的研究者来说&#xff0c;写作的过程就像是在“摸石头过河”&#xff0c;其中充满了各种未知的障碍。选题上常常感到迷茫&#xff0c;难以在“有意义”与“可行性”之间找到合适的平衡&#xff0c;选题要么过于宏大…...