架构训练营学习笔记:6-1 微服务

这部分是了解的。传统企业使用soa较多。很多企业银行、电信对于Oracle 依赖大,强调稳定性。各个项目侧重外包,技术栈不统一。

soa 历史

这个之前电信的BOSS系统就是这种架构,不知道现在呢,核心计费系统billing是运行在tuxduo中间件。对外提供了ESB,外围的crm,客服,APP等调用。

 SOA架构

 微服务

 对比

分层架构:

微服务是分层架构中业务层的架构 

 微内核架构

微服务架构陷阱 

服务关系复杂

团队效率低下

问题定位困难

 

系统性能下降

 

基础设施缺乏,无法快速交付

服务管理混乱

四大挑战

数据分布、服务分布

分布式事务

base 理论最终一致性

本地事务消息

 消息队列事务消息

 业务分布式事务-TCC

全局幂等

全局幂等案例1 

 案例2

 幂等处理

 

服务分布

接口兼容 接口循环调用

 这种问题是工作中经常遇见的,尤其是时间长了,一些冗余的业务已经下线,但是代码没有及时改动,越来越多。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/27312.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】操作系统与冯诺依曼体系——深度解析(软硬件层面)

​ 前言 大家好吖,欢迎来到 YY 滴 Linux系列 ,热烈欢迎! 本章主要内容面向接触过Linux的老铁,从软硬件层面向大家介绍操作系统与冯诺依曼体系, 主要内容含: 欢迎订阅 YY滴Linux专栏!更多干货持…

el-table那些事

el-table那些事 获取el-table所有勾选的行数据 用于记录工作和日常学习遇到的坑,需求。 vue3element-plusts 获取el-table所有勾选的行数据 1、需要先声明一个ref变量,并赋值给el-table 2、通过el-table提供的getSelectionRows()函数获取选中的"行…

【iPhone】手机还有容量,拍视频却提示 iPhone 储存空间已满

文章目录 前言解决方案 结语 前言 今天在用 iPhone 录像的时候突然提醒我 iPhone储存空间已满 你没有足够的储存空间来录制视频” 可我明明还有 20G 的容量 我非常疑惑,因为我之前还剩1个G都能录像,现在20G反而不行了,于是重启了手机&#…

伦敦金费用有哪几方面?

通常在网上开设伦敦金投资账户是没有成本的,而它交易的费用,主要是由点差和过夜利息(仓息)构成。如果伦敦金投资者只是做短线的日内交易,做一手完整的100盎司的标准合约,需要支付大约50美元点差费用&#x…

Cesium 迁徙图,飞线、动态圆。

效果图放前面 符合你预期效果往下看,不符合出门右转,不耽搁大家时间。 流光线 这个流光线网上其实都有很多案例 第一步绘制抛物线 里面有些配置参数已经添加了说明。 //抛物线绘制 function parabola(twoPoints: number[]) {let s: number[] []let …

Android 13 Hotseat定制化修改——001 hotseat布局方向

目录 一.背景 二.hotseat布局方向 一.背景 由于需求是需要自定义修改Hotseat,所以此篇文章是记录如何自定义修改hotseat的,应该可以覆盖大部分场景,修改点有修改hotseat布局方向,hotseat图标数量,hotseat图标大小,hotseat布局位置,hotseat图标禁止形成文件夹,hotseat图…

7.6 创建对象内存分析

7.6 创建对象内存分析 主程序实例 package com.baidu.www.oop;import com.baidu.www.oop.demo03.Pet;public class Application {public static void main(String[] args) {Pet dog new Pet();dog.name "旺财";//这里的对象的属性在类中需要定义为public&#xff…

mongodb-win32-x86_64-2008plus-3.4.24-signed.msi

Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。C:\Users\Administrator>cd C:\MongoDB\Server\3.4\binC:\MongoDB\Server\3.4\bin>C:\MongoDB\Server\3.4\bin>mongod --help Options:General options:-h [ --help ] …

【C# 基础精讲】条件语句:if、else、switch

条件语句是C#编程中用于根据条件执行不同代码块的关键结构。C#支持if、else和switch三种常见的条件语句,它们允许根据表达式的结果决定程序的执行路径。在本文中,我们将详细介绍这三种条件语句的语法和使用方法。 if语句 if语句用于在给定条件为真&…

Linux Shell 编程入门

从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天…

嵌入式虚拟仿真实验教学平台之串口发送数据

嵌入式虚拟仿真实验教学平台课程系列 串口发送数据实验 课程内容 本实验使用 STM32 的串口发送数据。开始仿真后,打开串口监视器,串口监视器会打印出要发送的数据。 课程目标 学习配置使用GPIO功能学习配置使用复用功能学习配置使用UART功能 硬件设计 本课程…

微信小程序如何配置并使用less?

1,检查微信开发者工具(工具版本1.03)————这步很重要不然后面按步骤实行后会发现急死你也还是不管用,我之前死在过这一步,所以大家不要再次踩坑了 ~ ~ 。。。 2,在VScode中下载Less插件 3,…

uni-app:分页实现多选功能

效果 代码解析 一、标签-列表 <view class"item_all" v-for"(item, index) in info" :key"index"><view class"position parameter-info text-over" :class"{checked_parameter: item.checked}" :data-id"i…

代码随想录算法训练营day59

文章目录 Day59 下一个更大元素II题目思路代码 接雨水题目思路代码 Day59 下一个更大元素II 503. 下一个更大元素 II - 力扣&#xff08;LeetCode&#xff09; 题目 给定一个循环数组&#xff08;最后一个元素的下一个元素是数组的第一个元素&#xff09;&#xff0c;输出每…

ChatGPT“侵入”校园,教学评价体制受冲击,需作出调整

北密歇根大学的教授奥曼在学生作业中发现了一篇关于世界宗教的“完美论文”。“这篇文章写得比大多数学生都要好......好到不符合我对学生的预期&#xff01;”他去问ChatGPT&#xff1a;“这是你写的吗&#xff1f;”ChatGPT回答&#xff1a;“99.9%的概率是的。” ChatGPT“侵…

【Axure 教程】动态面板

【动态面板】是 Axure 中另外一个神级的元件&#xff0c;它的江湖地位可以说跟【中继器】不相上下&#xff0c;【动态面板】提供了简单的配置&#xff0c;却可以实现非常丰富的效果&#xff0c;在实际设计中应用非常广泛。 对于刚入门的产品经理来说&#xff0c;学习【动态面板…

Bootload U-Boot分析

Bootloader是在操作系统运行之前执行的一段小程序。通过这段小程序可以初始化硬件设备、建立内存空间的映射表&#xff0c;从而建立适当的系统软硬件环境&#xff0c;为最终调用操作系统内核做好准备。 对于嵌入式系统&#xff0c;Bootloader是基于特定硬件平台来实现的。因此…

C++11之右值引用

C11之右值引用 传统的C语法中就有引用的语法&#xff0c;而C11中新增了的 右值引用&#xff08;rvalue reference&#xff09;语法特性&#xff0c;所以从现在开始我们之前学习的引用就叫做左值引用&#xff08;lvalue reference&#xff09;。无论左值引用还是右值引用&#…

面试热题(滑动窗口最大值)

给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 输入&#xff1a;nums [1,3,-1,-3,5,3,6,7], k 3 输出&#xff1a;[3,3,5,…

objectMapper.getTypeFactory().constructParametricType 方法的作用和使用

在使用 Jackson 库进行 JSON 数据的序列化和反序列化时&#xff0c;经常会使用到 ObjectMapper 类。其中&#xff0c;objectMapper.getTypeFactory().constructParametricType 方法用于构造泛型类型。 具体作用和使用如下&#xff1a; 作用&#xff1a; 构造泛型类型&#x…