「微服务架构模式」编曲与编舞——让系统协同工作的不同模式

news2024/10/7 14:26:31

介绍

Krzysztof(采访者):商业组织是由专家组成的,他们在他们最了解的领域提供产品或服务,以获得共同的商业成果。例如,营销团队努力争取新客户,销售团队向这些客户销售产品,客户关系团队负责积极的客户体验和保留。只有当这些团队一起工作时,才能实现共同的业务目标和利润。如何组合和安排他们的服务以实施业务流程管理的问题是定义整个组织如何运作的关键部分。今天我们将讨论这样做的最佳方法。我们有编排模式和编排模式——我们在辩论中的演讲者。你能介绍一下自己吗?

编曲模式:感谢您组织本次辩论。我是Orchestration Pattern,我相信只有一个集中且组织良好的组件才能为业务流程管理提供稳定性和跟踪。这就像一场管弦乐队音乐会——我们有一位指挥向每组音乐家展示何时发挥他们的作用。没有他,音乐家将演奏混乱而不是交响乐。同样的事情也适用于 IT 系统——如果我们在系统通信中使用 Orchestrator,我们将能够管理我们的流程并轻松验证其状态。

30a87b7da489efed574a83838262d72d.png

编舞模式:我很高兴被邀请参加这个演讲。谢谢你有我。我是编排模式,我对系统通信规则的观点与编排模式相反。我认为,在我们的 IT 生态系统中间添加一个额外的决策组件是多余的。更重要的是,我认为组件应该是自主的并且耦合松散,以提供业务价值本身,而不会影响其他组件。这就像一支爵士乐队,当音乐家正在等待其他人停止演奏,并继续他们与另一支球队介绍的旋律相关的自由泳时。使用这种方法,我们可以少维护一个组件,并且我们没有一个难以管理的大单点。

e0c04c6e6a0786a8f4c777d36f4f7301.png

第 1 轮:IT 系统设计

Krzysztof(采访者):感谢您的快速介绍。现在,我们将开始第一轮,我们将首先从技术角度讨论您的想法。这里的问题是——你不只是同步和异步通信的不同名称吗?

编曲模式:不!我可以实现这两种通信模式。这就是我的 Orchestrator 组件如此重要的原因。让我详细说明一下您在开始时介绍的示例。当营销团队获得新客户时,客户关系和销售团队应该意识到这一点并更新客户信息——以便当销售人员想要致电客户时,他们可以立即获得有关他们的信息,发生的所有通信以及所有 客户进行的购买。以下是我将如何实现这两个功能。

972bf0332246c5418c7cd1ad7c4b92b6.png

  • Async Client Synchronization with Orchestration Pattern

c3ef3a4c18a58bb753e8c9f058ae6849.jpeg

  • 使用编曲模式同步客户端详细信息响应

编舞模式:在名称方面我同意编排模式——我也可以实现同步和异步通信。我只是不同意 Orchestrator 组件至关重要。让我重新设计一个编排模式的想法,因为我仍然可以提供相同的业务功能,而中间没有一个全能的元素。

2d86f24468e11ded83f36ed15ca54670.png

  • Async Client Synchronization with Choreography Pattern

99f76040e73bd4af9f9aa2d19a6317ea.png

  • 将客户端详细信息响应与编排模式同步

正如你所看到的,我可以做同样的业务逻辑,但使用更少的业务逻辑组件,更灵活的设计。

编曲模式:您的设计看起来非常复杂!而且,我可以在中间看到一个元素——这个事件系统。所以,我不能同意业务逻辑组件更少。不只是 Orchestrator 而是另一个名字?而且,老实说,我在这里看不到这种灵活性……

编舞模式:首先,您错过了这样一个事实,即如果您在 Orchestrator 中进行错误处理,您的设计看起来会非常复杂。如果 CRM 系统在客户端同步中没有响应,您将如何反应?您需要围绕通知在线商店有关情况来实现重复和业务逻辑。让我用这个缺失的部分重新表述你的设计。

6f2c2377f61e6350b0975c5ff0ddfc9f.jpeg

  • Orchestrator 需要处理错误和系统不可用。使用 Choreography,组件只需等待适当的事件

同时,我的组件只是等待一个适当的事件——不需要在那里进行任何更改,也不会因为一个系统的不可访问性而由第三方处理错误。这样一来,您的设计看起来并不那么简单,因为您需要处理所有“假设”。

其次——我的事件系统不是业务逻辑组件。这是系统发布有关其处理的事件的空间。不包含任何业务逻辑——它就像一个论坛,每个人都分享他们所做的事情。这给了我刚才所说的灵活性——如果我不希望在客户注册过程中由通信系统发送电子邮件,我只需禁用此通信系统中的侦听器。对于其他组件,这种变化是不可见的。在您的设计中,您需要在 Orchestrator 中进行业务逻辑更改。

编曲模式:只要过程没有因错误或意外行为而中断,这一切听起来都很好。那会发生什么?如果您的元素之一失败,或者根本没有发布适当的事件,整个业务流程就会挂起。而且我们没有地方可以触发这样一个过程的结束。

编舞模式:这就是我们需要监控和跟踪工具的目的。那些轻量级的技术应用程序应该对未使用的事件或没有结束事件的卡住进程发出警报。我们可以通过这些工具自动生成最终事件,或者让人类决定做什么,就像编排模式一样,但不是在一个大而全能的元素中。然而,你说得有道理——与我一起计划和管理比与 Orchestration 更难。

第 2 轮:变更管理

Krzysztof(采访者):感谢您在第一轮中进行的激动人心的讨论。您已经提到了我们现在要讨论的一个主题——变革管理。在这一轮中,我们将着眼于改变和影响您提出的解决方案的变化的灵活性。那么,您可以用您的方法以多快的速度交付新功能和流程?改变现有的会有多困难?最后,如果您在一个组件中引入更改,那么其他组件会发生什么?

编舞模式:编排模式指责我架构的每次更改都需要对多个组件进行大量调整。这并不完全正确。是的,我同意更改流程本身需要更改负责该流程的协调器组件。但这样的变化并不总是会产生巨大的影响。将 ESB 作为集成平台,我们减少了 Orchestrator 中数据映射部分的更改次数。最重要的是,将 BPM 引擎用作协调器,简化了业务流程本身的变更交付。如果我们在一个组件中更改数据的结构,我们将需要在组件中使用类似的结构来使用数据。我怀疑我们可以通过编排模式避免这种情况,所以在变更管理的情况下,我相信我们已经接近了。

646077393202590e0fd301ee45da6e4c.jpeg

  • 使用 Orchestration,很多变化都需要在 Orchestrator Element 中进行一些调整

编舞模式:我强烈不同意我们很接近。为了证明这一点,我想参考我们概念的基础知识。管弦乐就像一场管弦音乐会。如果我们想改变小提琴部分,我们需要每次都为小提琴手写一个新的旋律,有时要求指挥家进行一点不同的指挥。正如我所提到的,我更像是一支爵士乐队——如果我的一位音乐家想要扮演不同的角色,我就允许他这样做。当然,他可以完全改变旋律,其他音乐家也会想对它做出反应——但我只是让他们自己决定。在最坏的情况下,即不同步的变化,他们将完全停止播放,等待老旋律出现。对于管弦乐队来说,最坏的情况是他们演奏的一团糟,会伤到你的耳朵。老实说,我更喜欢沉默……但是好吧,现在让我回到一些例子,参考第一轮的处理。我已经提供了第一个——如果我们想删除发送电子邮件,我们只需禁用通信系统。当然,稍后,我们可能还会删除事件 #3 的 CRM 侦听器,该侦听器负责同步通信历史记录——但不这样做不会导致任何错误。第二个例子是数据映射。在 Orchestration Pattern 中,Orchestrator 负责跟踪数据结构的变化。即使是数据结构的微小变化也需要在 Orchestrator 中进行调整。我的设计也不是没有这样的问题——但我希望我的事件是用仅描述业务对象基本属性的简单数据模型创建的。当然,Orchestrator Pattern 总是可以使用这样的模型,但是在我的设计中,我们还有一个组件需要改变——Orchestrator Element。

0fc273aeca87fc12f31f36bd305c5d41.png

  • 使用 Choreography,多于两个组件的更改数量更小

第三轮:业务流程跟踪和数据管理

Krzysztof(采访者):现在,让我们进入第三轮,我们将讨论数据管理和跟踪流程执行。正如 Sam Newman 在构建微服务中所说:“随着我们开始对越来越复杂的逻辑进行建模,我们必须处理管理跨越单个服务边界的业务流程的问题”。这里有几个问题——您如何看待多个组件之间的共享和维护数据?您有什么计划来验证流程实例的状态?

编曲模式:就我的设计而言,这个主题非常简单。让我从数据管理开始。所有信息都被分类并存储在我的组件中,没有任何不必要的重复。如果一个组件需要更多数据,它只需询问 Orchestrator——它会收集并提供所需的数据,并带有适当的数据映射(例如,由 ESB 平台处理)。现在我的最大优势出现了——跟踪流程直接整合到我的 Orchestrator 中。一个端到端的过程发生并由这个元素管理。只需访问一个组件,您就可以准确地知道自己目前处于流程中的哪个位置。我怀疑 Choreography Pattern 的想法和我的一样简单。

483d9295071b7534dbcc5c3af9565962.png

  • Orchestration Pattern 中的 Process Tracing 集中在 Orchestrator 组件中

编舞模式:这个话题也可以用我的设计来解决。我也会从数据管理开始。对我来说,数据正在组织中与事件和相关标识符(由业务流程发起者生成)共享。可以在组件中复制数据以供进一步使用,并根据组件业务功能调整模型。再看一下 Synch Client Details Response with Choreography Pattern 序列图。在我的设计中,不需要调用第三方来获取数据,因为它正在组件之间同步,以防业务处理需要。下一个主题是跟踪——在这里我同意它对我来说可能比使用 Orchestrator 更复杂。但是,有了流程发起者生成的相关标识符,我们仍然可以轻松地连接组成更大业务流程的子流程。

4aa8f22f9e546b5f841d52c637158c5e.png

  • Choreography Pattern 中的流程更加分散,因此跟踪可能是一个挑战

编曲模式:所以,看起来我是对的,而且跟踪过程对我来说更容易。编排需要有额外的专用工具来实现这一目的——我也可以使用我的 Orchestrator 来扮演那个角色。更重要的是,使用存储在我的 Orchestrator 中的数据,我可以轻松地做出报告和关键决策。Choreography 提出的这种分布式逻辑可能是一个真正的挑战。

编舞模式:我同意——这很有挑战性。但是如果没有集中式决策引擎,我们可以使用更轻量级的工具进行跟踪,而不是使用 Orchestrator 来完成所有工作。报告也是如此——我可以拥有一个专门为此而设计的系统或微服务。这种方法广泛用于微服务生态系统。我只是喜欢我的架构组件是自主的和独立工作的,提供特定的、定义明确的业务功能——而不是一个复杂的 Orchestrator,很容易成为组织的中央 IT 系统。

第 4 轮:组织影响


Krzysztof(采访者):哇,我们在第三轮进行了非常激动人心的讨论。在他们的最后一句话中,Choreography 提到了组织的影响。现在,让我们讨论一个高层次的观点。当组织选择你作为一种广泛使用的模式时,你认为组织会如何改变?您是否认为 IT 系统设计会影响公司的运作方式?或者可能是其他情况——公司结构反映在 IT 生态系统中?

编舞模式:这实际上是一个非常有趣的问题。这位首席执行官兼编舞师会对他的董事们说:“我的愿景是成为欧洲最大的卫生口罩生产商。我现在全神贯注于你的想法”。然后,营销总监会想出一个新市场的活动,营销总监会立即开始计算他当前的销售水平,工厂总监会等待营销总监对销售的预测,这样他们就可以调整他们要购买的产品数量。需要创建。这种方法有两大优势。首先,这些董事对他们的想法和意见负全部责任。他们知道,公司的成长也是他们的功劳。第二个好处是CEO的工作量少了很多,他的责任负担也更小了。

编曲模式:确实,这是一个相关的问题。编排在组织中引入了严格的顺序,这是编排的一个关键弱点,该顺序可能没有明确定义。CEO-Orchestrator 会对他的董事们说:“我的愿景是成为欧洲最大的卫生口罩生产商。为此,我希望营销总监为新市场创建活动,销售总监专注于当前的销售水平,以免不必要的财务问题困扰我们,工厂总监将产量翻倍”。这位 CEO 考虑周全,整个公司都知道他会带领他们走向成功。也许他的负担更大——但至少他知道组织是如何运作的。当然,在某种抽象层面上——因为他的主管考虑他们的任务,并在他们的单位中编排流程以实现低级流程。如果您问这是否对 IT 系统设计有任何影响,我会说“是的”。Melving E. Conway 也有同样的观点,这就是他引入康威定律的证据:“任何设计系统(定义广泛)的组织都会产生一个其结构是组织通信结构副本的设计。”就我而言,Orchestrator 将反映组织中强大的管理地位和秩序。

编舞模式:编排不涉及组织中的任何顺序——它只是在多个自主团队之间划分。如果 CEO-Orchestrator 生病了怎么办?如果他错了怎么办?有了编排,我们不仅有更多的讨论空间,还有更多自主、负责任的团队分享他们的投入和改进。我同意编排模式,即 IT 系统设计反映了组织的通信结构。但我会更进一步——我相信在 IT 系统中实施编排模式将使小团队开始以同样的方式工作。然后,编排正在更大的组织单位中传播,最后——它会传到 CEO 身上。明智的人会注意到,他不再孤单地做决定,他可以委派更多的工作,并且他可以依靠团队对他们的业务职能完全负责。归根结底,他的工作会更少,操心的事情也会更少,他的员工也会对组织更有责任感。总结一下——我同意康威定律有效,但对我来说,它也可以反过来起作用。在这种情况下,微服务和编排将导致小型、敏捷、面向业务的团队。

编曲模式:有了我,这位 CEO 会立即知道他错了。通过简单的流程跟踪和监控结果,很容易在流程中发现错误。使用 Choreography Pattern,您可能知道某些事情运行不正常,但您将花费更多时间进行调试并寻找负责的单元。我可以同意的是,康威定律也适用于相反的情况——拥有一个或几个业务规则实施系统,我们很快就会提出一个类似的管理结构来制定关键的业务决策。

结论

Krzysztof(采访者):感谢您的参与、见解和分享的想法。我希望这场辩论会在接下来的几周、几个月和几年内非常有帮助,届时数十个组织将投票选出在他们的项目中使用的最佳模式。就个人而言,我会投票给编舞模式。我不认为编曲模式是一个糟糕的模式——但是使用编舞设计的解决方案更加灵活,与技术无关,并且可以量身定制以满足客户的要求。 Choreography Pattern 还帮助我们构建了 Starboost——微服务画布,它被证明是可靠的、可扩展的和可调整的,适用于真实案例的业务场景。我相信 Choreography 将使 IT 系统再次变得伟大,它在当前和即将到来的项目中拥有我的投票权。亲爱的读者,你呢?

本文 :https://architect.pub/orchestration-vs-choreography-different-patterns-getting-systems-work-together
讨论:知识星球【首席架构师圈】或者加微信小号【ca_cto】或者加QQ群【792862318】
公众号

【jiagoushipro】
【超级架构师】
精彩图文详解架构方法论,架构实践,技术原理,技术趋势。
我们在等你,赶快扫描关注吧。
3e0d7342fe40167ec9fb484240606a3e.jpeg
微信小号

【ca_cea】
50000人社区,讨论:企业架构,云计算,大数据,数据科学,物联网,人工智能,安全,全栈开发,DevOps,数字化.

61007e855b5248f0c5beebd8bbf9e185.jpeg

QQ群

【285069459】深度交流企业架构,业务架构,应用架构,数据架构,技术架构,集成架构,安全架构。以及大数据,云计算,物联网,人工智能等各种新兴技术。
加QQ群,有珍贵的报告和干货资料分享。

d89b4a46d1f615607879bae590a9b171.jpeg

视频号【超级架构师】
1分钟快速了解架构相关的基本概念,模型,方法,经验。
每天1分钟,架构心中熟。

6f38d03fbb10660b16cabee8cff9277e.jpeg

知识星球【首席架构师圈】向大咖提问,近距离接触,或者获得私密资料分享。

65876e09f06dbbaabe3079b8e13e8604.jpeg

喜马拉雅【超级架构师】路上或者车上了解最新黑科技资讯,架构心得。【智能时刻,架构君和你聊黑科技】
知识星球认识更多朋友,职场和技术闲聊。知识星球【职场和技术】
领英Harryhttps://www.linkedin.com/in/architect-harry/
领英群组领英架构群组
https://www.linkedin.com/groups/14209750/
微博‍‍【超级架构师】智能时刻‍
哔哩哔哩【超级架构师】

8b62f920662ff3ba1df9c2dcf106dab8.jpeg

抖音【cea_cio】超级架构师

0e35eda2d7c751c4d36e88a52a5000df.jpeg

快手【cea_cio_cto】超级架构师

eab2990f28fc03d18bcc31ced4761574.jpeg

小红书【cea_csa_cto】超级架构师

3b000848c0a550271f20d70d53219166.jpeg

网站CIO(首席信息官)https://cio.ceo
网站CIO,CTO和CDOhttps://cioctocdo.com
网站架构师实战分享https://architect.pub   
网站程序员云开发分享https://pgmr.cloud
网站首席架构师社区https://jiagoushi.pro
网站应用开发和开发平台https://apaas.dev
网站开发信息网https://xinxi.dev
网站超级架构师https://jiagou.dev
网站企业技术培训https://peixun.dev
网站程序员宝典https://pgmr.pub    
网站开发者闲谈https://blog.developer.chat
网站CPO宝典https://cpo.work
网站首席安全官https://cso.pub    ‍
网站CIO酷https://cio.cool
网站CDO信息https://cdo.fyi
网站CXO信息https://cxo.pub

谢谢大家关注,转发,点赞和点在看。

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

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

相关文章

用4种回归方法绘制预测结果图表:向量回归、随机森林回归、线性回归、K-最近邻回归

文章目录 表格部分数据如下运行效果如下代码解析完整代码附件 表格部分数据如下 附件里会给出全部数据链接 运行效果如下 代码解析 import pandas as pd import numpy as np import matplotlib.pyplot as plt from matplotlib.font_manager import FontPropertiesfont FontP…

FPGA实现USB3.0 UVC 相机彩条视频输出 基于FT602驱动 提供工程源码和QT上位机源码

目录 1、前言2、UVC简介3、FT602芯片解读4、我这儿的 FT601 USB3.0通信方案5、详细设计方案基于FT602的UVC模块详解 6、vivado工程详解7、上板调试验证8、福利:工程代码的获取 1、前言 目前USB3.0的实现方案很多,但就简单好用的角度而言,FT6…

用代码玩转迷你图:手把手教你用编程语言打造简洁易读的数据图表!

前言 迷你图(Mini Chart)最早起源于流程图和组织架构图中的一种简化图形,用于表示一个大型数据集合中的趋势和变化。随着数据可视化技术的发展,迷你图也被广泛应用在各种类型的数据图表中,例如折线图、柱形图、散点图…

【027】C++类和对象的基本概念

C类和对象的基本概念 引言一、类的封装性二、定义一个类三、设计一个类3.1、示例一:设计一个Person类3.1、示例二:设计一个Cube类 四、成员函数在类外实现五、类在其他源文件中实现总结 引言 💡 作者简介:专注于C/C高性能程序设计…

RFID工业读头工作原理和优势

RFID工业读头由天线,耦合元件,芯片,可对RFID标签信息进行读取和写入,在工业上也常作为信息的传输、处理的载体。下面我们就一起来了解一下,工业读头工作原理和优势是什么。 工业读头工作原理 工业RFID读头主要是通过天…

微信小程序嵌入H5页面,最简单的兼容方式web-view

//index.wxml---------------------------------------- <web-view src"{{src}}" />//index.js---------------------------------------- Page({data: {src: "https://dz.wedoyun.cn/mobile/?v20230615",},});

1.6C++双目运算符重载

C双目运算符重载 C中的双目运算符重载指的是重载二元运算符&#xff0c;即有两个操作数的运算符&#xff0c;如加减乘除运算符“”、“-”、“*”和“/”等。 通过重载双目运算符&#xff0c;可以实现自定义类型的运算符操作。 比如可以通过重载加减运算符实现自定义类型的向…

电脑误删文件恢复怎么做?数据恢复,4招就行!

我有定期清理电脑的习惯&#xff0c;一般都会将电脑里的一些垃圾文件删除&#xff0c;但在最近一次的清理中&#xff0c;我不小心把重要的文件当作垃圾文件删除了&#xff0c;请问有什么比较好的解决方法吗&#xff1f;非常感谢&#xff01; 当下电脑的使用越来越频繁&#xff…

抖音seo源码-源代码开发搭建-开源部署(不加密)

抖音SEO矩阵系统源码开发功能模型是指在抖音平台上提高视频搜索排名的一种算法模型。该功能模型包括多个部分&#xff0c;如内容优化、用户交互、社交化推广等&#xff0c;通过对这些因素的优化和提升&#xff0c;达到提高视频搜索排名的目的。具体实现包括使用关键词、标签等优…

谷粒商城p46-配置网关路由与路径重写

软件 &#xff1a; vscode idea 服务&#xff1a; renren-fast&#xff0c;gulimall-product&#xff0c;gulimall-gateway、nacos 前提条件&#xff1a; gateway、renren-fast已经注册到nacos 注意&#xff1a; 1、renren-fast单独注入nacos依赖&#xff0c;不要注入common…

CAD绘制三维图形基础

绘制三维图形的基础操作包括&#xff1a; 1、打开3d绘图窗口&#xff0c;进入3d绘图界面 2、改变绘图视角 3、改变图形的展现形式 4、绘制基本的几何图形 5、掌握对齐等修改功能 6、掌握基础布尔操作 首先是切换工作空间&#xff0c;在界面的右下角有一个类似设置的按钮…

使用VitePress创建个人网站并部署到GitHub

网站在线预览 参考文档&#xff1a; VitePress 创建 GitHub 远程仓库 克隆远程仓库到本地 git clone gitgithub.com:themusecatcher/front-end-notes.git进入 front-end-notes/ 目录&#xff0c;添加 README.md 并建立分支跟踪 echo "# front-end-notes" >>…

配置Kettle连接大数据HDFS

需求&#xff1a;配置Kettle连接大数据HDFS Kettle对接大数据平台的配置 一&#xff0e;软件环境 1.Hadoop集群,版本&#xff1a;Hadoop3.3.0 2.ETL工具Kettle&#xff0c;版本&#xff1a;pdi-ce-7.0.0.0-25 &#xff08;解压命令&#xff1a;*.zip 用 unzip 解压&#xf…

4自由度并联机器狗实现下蹲功能

1. 功能说明 本文示例将实现R328a样机4自由度并联机器狗下蹲的功能。 2. 结构说明 本样机的并联驱动结构与 【R082】4自由度并联四足 类似&#xff0c;两款样机可以对比来看。 本样机腿部的结构如下图所示&#xff1a;驱动核心部分是两个5杆结构的组合。 两个五杆结构图 驱动核…

ASP.NET MVC下的四种验证编程方式

ASP.NET MVC采用Model绑定为目标Action生成了相应的参数列表&#xff0c;但是在真正执行目标Action方法之前&#xff0c;还需要对绑定的参数实施验证以确保其有效性&#xff0c;我们将针对参数的验证成为Model绑定。总地来说&#xff0c;我们可以采用4种不同的编程模式来进行针…

手机号码篡改测试-业务安全测试实操(6)

手机号码篡改测试, 用户ID篡改测试 订单ID篡改测试-业务安全测试实操(5)_luozhonghua2000的博客-CSDN博客 手机号码篡改测试 测试原理和方法 手机号通常可以代表一个用户身份。当请求中发现有手机号参数时,我们可以试着修改它,测试是否存在越权漏洞。系统登录功能一般先判断…

计算机视觉研究院重新开启知识星球(前期我们免费加入)

点击蓝字 关注我们 关注并星标 从此不迷路 计算机视觉研究院 公众号ID&#xff5c;计算机视觉研究院 学习群&#xff5c;扫码在主页获取加入方式 计算机视觉研究院专栏 Column of Computer Vision Institute 满足广大兴趣关注者&#xff0c;最近我们平台重启了”知识星球“&…

聚观早报 |梅西将于14日淘宝开播;李斌回应蔚来全系车型降3万元

今日要闻&#xff1a;梅西将于6月14日上淘宝开播&#xff1b;李斌回应"蔚来全系车型降价3万元”&#xff1b;美国联邦贸易委员会阻止微软收购暴雪&#xff1b;称iPhone15洗系列最高涨价200美元&#xff1b;极兔正与顺丰洽谈入股 梅西将于6月14日上淘宝开播 据悉&#xff…

微服务springcloud 02 创建项目中的三个service子系统,springcloud中注册中心Eureka介绍和把三个系统注册到Eureka中

item service项目 01.使用springboot创建项目 02.选择依懒项在这里插入代码片 spring web 03.添加sp01-commons依赖 在pom.xml文件中 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" x…

「深度学习之优化算法」笔记(一):优化算法概述

优化算法笔记&#xff08;一&#xff09;优化算法的介绍 &#xff08;一&#xff09;优化算法的介绍 1.1&#xff08;what&#xff09;什么是优化算法&#xff1f; 我们常见常用的算法有排序算法,字符串遍历算法,寻路算法等。这些算法都是为了解决特定的问题而被提出。 算法本质…