建设网站需要几部分搭建一个自己的网站

bicheng/2026/1/23 8:01:50/文章来源:
建设网站需要几部分,搭建一个自己的网站,常见网页制作软件,拼多多网站建设的目的#x1f389;#x1f389;欢迎光临#xff0c;终于等到你啦#x1f389;#x1f389; #x1f3c5;我是苏泽#xff0c;一位对技术充满热情的探索者和分享者。#x1f680;#x1f680; #x1f31f;持续更新的专栏《Spring 狂野之旅#xff1a;从入门到入魔》 欢迎光临终于等到你啦 我是苏泽一位对技术充满热情的探索者和分享者。 持续更新的专栏《Spring 狂野之旅从入门到入魔》 本专栏带你从Spring入门到入魔  这是苏泽的个人主页可以看到我其他的内容哦 努力的苏泽http://suzee.blog.csdn.net/ 本文是通过大量阅读 和最近的一些项目的思考和总结 写出来的 关于Spring Cloud Stream的文章不少  但我更想以观众能够轻松理解并且运用到自己的项目当中 我认为这才是技术存在的意义 下面是正片 按照自己的口味来食用哦有比较难懂的地方 Spring Cloud Stream: 消息驱动架构 引言 随着云计算、微服务和大数据技术的快速发展构建可扩展、高性能和弹性的应用程序变得越来越重要。为了满足这些要求许多开发人员转向了事件驱动架构它允许应用程序通过基于事件的方式相互通信从而提高了系统的响应速度和伸缩性。在这个背景下Spring Cloud Stream应运而生它是一个用于构建基于事件驱动的微服务应用程序的框架可以与现有的消息中间件如Apache Kafka和RabbitMQ无缝集成。 Spring Cloud Stream的概念和目标 Spring Cloud Stream是一个用于构建基于事件驱动的微服务应用程序的框架其核心目标是简化开发过程降低消息通信的复杂性从而使开发人员能够专注于编写业务逻辑。Spring Cloud Stream通过提供Binder抽象将应用程序与消息中间件解耦让开发人员无需关心底层通信细节。同时它还提供了一套丰富的API和特性如消息分组、分区和错误处理使得构建强大、可扩展的事件驱动应用程序变得更加简单。 事件驱动架构在现代微服务应用程序中的重要性 事件驱动架构是指应用程序组件之间通过事件进行通信的架构。在这种架构中组件之间的通信是异步的基于发布-订阅模式这有助于实现以下几个关键优势 可伸缩性应用程序可以通过增加或减少组件实例来应对不断变化的负载而不会对整个系统产生负面影响。解耦组件之间的通信是基于事件的它们无需知道对方的内部实现这有助于降低系统的复杂性和维护成本。高性能事件驱动架构允许应用程序以并行方式处理事件从而提高了系统的响应速度和吞吐量。弹性由于组件之间的通信是异步的当某个组件出现故障时其他组件可以继续处理事件降低了单点故障的风险。 先来认识Spring Cloud Stream架构 Spring Cloud Stream构建在SpringBoot之上提供了KafkaRabbitMQ等消息中间件的个性化配置引入了发布订阅、消费组和分区的语义概念  没学过消息中间件的可以看我之前的文章Kafka 消息驱动架构MDA 想象一下我们要建造一座房子。传统的方式是我们需要手工完成从设计到建造的每一个步骤。我们首先创建设计图纸然后按照图纸上的规格和要求一步步地建造房子。 而在MDA的方式下我们使用了一种自动化的工具来简化这个过程。我们首先创建一个高度抽象的模型就像是一个概念上的房子草图。这个模型与具体的实现技术无关只关注房子的整体结构和功能。 接下来我们使用工具将这个高级模型转换为与特定实现技术相关的模型就像是根据草图创建了一份针对具体施工工艺的图纸。例如我们可以将高级模型转换为使用钢筋混凝土结构的房子模型。 最后我们使用工具将这个特定实现技术的模型转换为实际的代码就像是根据图纸建造房子的过程。这些代码与应用技术密切相关最终实现了我们所设计的系统。 这种方式的好处是自动化工具帮助我们完成了从高级模型到具体代码的转换省去了手工操作的繁琐过程。这样开发人员可以更加清晰地理解整个系统的架构而不会受到具体实现技术的干扰。同时对于复杂的系统也减少了开发人员的工作量。 两者之间的关系 Spring Cloud Stream作为实现MDA的框架 他是怎么做的呢  我把他分成以下几点 定义平台无关模型PIM 在Spring Cloud Stream中你可以定义一个高度抽象的PIM它描述了消息的生产者和消费者之间的通信和交互方式而与具体的消息中间件实现无关。PIM可以包括消息的格式、结构、交换模式等。这个PIM可以作为系统设计的核心模型独立于具体的实现技术。 选择和配置绑定器Binder Spring Cloud Stream提供了与多种消息中间件集成的绑定器如Kafka、RabbitMQ等。绑定器可以将PIM与特定的消息中间件进行连接使得消息的发送和接收可以与具体的消息中间件实现进行交互。通过选择和配置适当的绑定器你可以将PIM转换为特定的平台相关模型PSM以便与消息中间件进行通信。 实现消息转换和处理 Spring Cloud Stream提供了消息转换的机制允许你定义如何将原始消息转换为特定的领域对象并在消费者之间传递。你可以使用消息转换器来处理消息的序列化和反序列化以及将消息转换为应用程序所需的数据结构。这样你可以在系统中实现解耦合和灵活的消息处理。 自动化生成代码 Spring Cloud Stream提供了自动化的代码生成能力将PSM转换为具体的代码实现。你只需要定义好PIM和PSM之间的映射关系Spring Cloud Stream会根据这些映射关系自动生成生产者和消费者的代码从而实现消息的发送和接收。这样你可以专注于定义PIM和PSM并通过自动生成的代码实现实际的消息处理逻辑。 那么我们了解了其思想和架构 我们要如何建立到我们自己的项目当中应用这种方式呢  这是一个很关键的问题 实例讲解 拿之前做过的一个商城系统来说其中包含订单服务和库存服务之间的消息通信。订单服务负责接收订单创建请求并发送订单信息给库存服务库存服务接收订单信息并更新库存。 步骤 1: 定义平台无关模型PIM 在订单服务和库存服务之间定义一个平台无关模型例如一个名为Order的Java类表示订单信息。 public class Order {private String orderId;private String productId;private int quantity;// 其他订单相关的属性和方法// Getters and setters } 步骤 2: 配置消息中间件绑定器 在订单服务和库存服务的配置文件中配置Spring Cloud Stream使用合适的消息中间件绑定器。在这个例子中我们使用RabbitMQ作为消息中间件。 订单服务的配置文件application.properties spring.cloud.stream.bindings.sendOrder-out-destinationorder-exchange 库存服务的配置文件application.properties spring.cloud.stream.bindings.receiveOrder-in-destinationorder-exchange 步骤 3: 实现消息转换和处理 在订单服务中定义一个消息发送接口并实现消息转换和发送逻辑。 EnableBinding(OrderSource.class) public class OrderService {Autowiredprivate OrderSource orderSource;public void createOrder(Order order) {// 执行订单创建逻辑// 发送订单消息orderSource.sendOrder().send(MessageBuilder.withPayload(order).build());} }interface OrderSource {Output(sendOrder)MessageChannel sendOrder(); } 在库存服务中定义一个消息接收接口并实现消息处理逻辑。 EnableBinding(OrderSink.class) public class InventoryService {StreamListener(target receiveOrder)public void handleOrder(Order order) {// 执行库存更新逻辑} }interface OrderSink {Input(receiveOrder)SubscribableChannel receiveOrder(); } 步骤 4: 实现消息发送和接收的代码 在订单服务中定义一个消息发送接口并实现消息发送逻辑。 EnableBinding(OrderSource.class) public class OrderService {Autowiredprivate OrderSource orderSource;public void createOrder(Order order) {// 执行订单创建逻辑// 发送订单消息orderSource.sendOrder().send(MessageBuilder.withPayload(order).build());} }interface OrderSource {Output(sendOrder)MessageChannel sendOrder(); } 在库存服务中定义一个消息接收接口并实现消息处理逻辑。 EnableBinding(OrderSink.class) public class InventoryService {StreamListener(target receiveOrder)public void handleOrder(Order order) {// 执行库存更新逻辑} }interface OrderSink {Input(receiveOrder)SubscribableChannel receiveOrder(); } 步骤 5: 实现业务逻辑 根据具体的业务需求在订单服务和库存服务中编写业务逻辑来处理接收到的消息。例如在库存服务中你可以根据接收到的订单消息更新库存信息。 EnableBinding(OrderSink.class) public class InventoryService {Autowiredprivate InventoryRepository inventoryRepository;StreamListener(target receiveOrder)public void handleOrder(Order order) {// 根据订单消息更新库存信息String productId order.getProductId();int quantity order.getQuantity();// 执行库存更新逻辑inventoryRepository.updateInventory(productId, quantity);} } 以上就是一个很简单的MDA框架的业务demo的实现啦 再结合中间件的知识学习加以实践 就能较好的构建一个云原生的项目啦 希望能够帮到有需要的读者 如有纰漏  望指出 关注我 深入学习Spring云原生系列一起努力~

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

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

相关文章

公司网站建设需求说明书关于做网站常见的问题

//给定二叉树的根节点 root ,返回所有左叶子之和。 // // // // 示例 1: // // // // //输入: root [3,9,20,null,null,15,7] //输出: 24 //解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 //…

公司弄个网站多少钱微信微网站制作公司

“几何画板是一种常用的数学软件,具有强大的绘图功能,也为我们探究椭圆的不同绘制方法提供了平台.在探究过程中,我们遇到了一些麻烦和困难,但也获得了很多意想不到的惊喜和收获!我们将椭圆的绘制方法分为七类&#xff…

网站打开速度慢wordpress网站开发的形式有( )

IEEE Micro 2023 Paper CXL论文阅读笔记整理 问题 计算快速链路(CXL)协议是系统社区的一个重要里程碑。CXL提供了标准化的缓存一致性内存协议,可用于将设备和内存连接到系统,同时保持与主机处理器的内存一致性。CXL使加速器&…

网站建设推广行业太原网络营销策划

1. Coverage - 衡量测试的覆盖率 我们已经掌握了如何进行单元测试。接下来,一个很自然的问题浮现出来,我们如何知道单元测试的质量呢?这就提出了测试覆盖率的概念。覆盖率测量通常用于衡量测试的有效性。它可以显示您的代码的哪些部分已被测试过,哪些没有。 coverage.py …

网站建设中技术程序南京工商注册核名查询系统

文章目录 1. 什么是SFTP2. 什么是Jsch以及它的作用3. Linux中配置SSH密钥登录4. sftp服务器认证机制5. publickey和password两种方式登录sftp的API调用6. 代码可以如下改造: 需求:做一个通过ssh免密登录的需求,是基于原先密码登录sftp服务器的…

如何在中国建设银行网站转账自己做网站的优势

2012年4月20日,证监会正式对外公布了《证券期货业信息安全保障管理办法(征求意见稿)》,并公开征求意见。正式公布后将取代原来在2005年发布的暂行办法。 证券期货业信息安全保障管理办法(征求意见稿)第一章…

锦州哪家做网站滨城网站开发

《汇编语言》- 读书笔记 - 第13章-int 指令 13.1 int 指令13.2 编写供应用程序调用的中断例程中断例程:求一 word 型数据的平方主程序中断处理程序执行效果 中断例程:将一个全是字母,以0结尾的字符串,转化为大写主程序中断处理程序…

东三省网站建设公司查询注册过哪些网站

《省级国土空间规划编制技术规程》国家标准(GB/T 43214-2023,以下简称《规程》),将于2024年1月1日起实施,该《规程》由市场监管总局(国家标准委)9月7日批准发布。 《规程》由自然资源部组织编制…

网站 建设 拖拉 源码 系统程序员不是做网站的

枚举:一组相关的值定义了一个共同的类型,使你可以在代码中以类型安全的方式来使用这些值。 1.枚举语法 //枚举成员不会被赋予默认的整型值。成员本身就是完备的值,类型为CompassPoint。 enum CompassPoint {case northcase southcase eastcas…

可口可乐网站建设海口网站建设做网站

文章目录 1.概述2.Android源下载1.配置环境变量2.安装curl3.下载repo并授权4.创建一个文件夹保存源码5.设置repo的地址并配置为清华源6.初始化仓库7.指定我们需要下载的源码分支并初始化 2.1 使用移动硬盘存放Android源码的坑2.2 解决方法 3.Android源码编译4.Android源烧录 1.…

许昌网站制作公司网站建设要买哪些软件

"香港服务器"和"香港云服务器",是两种不同的香港区域的服务器,免备案,都有各自的优势和适用场景,取决于您的需求和预算。以下是它们的一些区别和特点: 香港服务器: 物理服务器&#xf…

办个人网站租空间怎么选择赣州网站建设

1.运算符重载 • 当运算符被⽤于类类型的对象时,C语⾔允许我们通过运算符重载的形式指定新的含义。C规定类类型对象使⽤运算符时,必须转换成调⽤对应运算符重载,若没有对应的运算符重载,则会编译报错;(运算…

聊城网站建设哪个好wordpress编辑用户头像

摘要: 本笔记分析了使用预训练的模型生成文本的示例代码。它的步骤如下: 使用已加载的分词器 tokenizer 对输入文本进行处理,转换为模型可以理解的格式。输入文本是国家和首都的信息,最后一句是未完成的,需要模型来生成。将处理后的输入转移到模型所在的设备上(例如GPU或…

网站logo是什么意思潘虎设计公司

mac还是使用brew install简单一些;最好使用一种安装方式,不要多种方式互用; 更新npm到最新版本npm install -g npm更新npm到指定版本 npm -g install npm2.9.1指定安装目录npm install --prefix /usr/local -g npm 1、从官网https://nodejs.o…

做互联网交易网站的条件建立网站需要注意什么

《C新经典设计模式》之第19章 职责链模式 职责链模式.cpp 职责链模式.cpp #include <iostream> #include <memory> #include <string> using namespace std;// 请求传递给链中的若干对象&#xff0c;哪个对象适合处理就自行处理 // 使多个对象都有机会处理请…

最便宜的网站建设WordPress图片方案

AI 使用大型语言模型&#xff08;LLM&#xff09;来理解和生成自然语言。LLM 可以从大量文本中学习并创建有关各种主题的文本&#xff0c;并可以完成比如编写代码、生成歌词、总结文章等任务。但有些 LLM 相关课程成本高昂且封闭&#xff0c;而现有的开放课程数量十分有限。这就…

成都创新互联科技有限公司长沙seo推广营销

一&#xff1a;背景 一直在用 WinDbg 调试用户态程序&#xff0c;并没有用它调试过 内核态&#xff0c;毕竟不是做驱动开发&#xff0c;也没有在分析 dump 中需要接触用内核态的需求&#xff0c;但未知的事情总觉得很酷&#xff0c;加上最近在看 《深入解析 Windows 操作系统》…

微信制作网站设计wordpress网站换域名

1 教学实训总体设计 1.1 建设背景 &#xff08;一&#xff09;政策推动与战略部署 近年来&#xff0c;物联网技术在全球范围内得到了广泛的关注和应用。作为信息技术的重要组成部分&#xff0c;物联网在推动经济转型升级、提升社会管理水平、改善民生福祉等方面发挥着重要作…

网站中的宣传册翻页动画怎么做在深圳注册公司流程及费用

目录 一、网络配置命令 1.ifconfig——IP地址 1.1ifconfig的基础用法 1.1.1ifconfig命令详解 1.2常用格式 1.3修改网卡名称 1.3.1临时修改 1.3.2永久修改 1.4临时修改网卡 1.4.1设置虚拟网卡 1.4.2延伸——ethtool 1.5永久修改网卡 1.6实验 —— 双网卡配置 1.…

青岛php网站建设网站怎样做关键词优化

参考资料&#xff1a;用python动手学统计学 1、t统计量 t统计量的计算公式为&#xff1a; 其中&#xff0c;为样本均值&#xff0c;μ为总体均值&#xff0c;为实际样本的无偏标准差&#xff0c;N为样本容量。 t统计量的公式与标准化公式类似。t统计量可以理解为对样本均值…