第十章 Productions最佳实践 - 路由Production的设计模型

news2024/11/28 6:46:46

文章目录

  • 第十章 Productions最佳实践 - 路由`Production`的设计模型
  • 配置项
  • 应用规范

第十章 Productions最佳实践 - 路由Production的设计模型

本章介绍了客户成功用于构建接口路由解决方案的设计模型。因此,它可以被认为是开发路由制作的最佳实践的集合。

本章仅介绍一种方法。其他实施策略也可以成功。每个组织都有自己的编写代码和执行编程项目的标准。本章简单介绍了 IRIS 独有的路由制作方面以及受益于精心设计的方法的那些方面。

一般来说,好的设计的关键是清晰和简单。简单并不意味着零件数量少。简单意味着模型中的每个部分都具有明确的功能并且很容易直观地找到。

配置项

生产由配置项组成。配置项分为三类:

  • 业务服务接受传入消息。

  • 业务操作发送传出消息。

  • 业务流程指导其间的所有工作。有一些特殊类型的业务流程:

    路由过程通过调用路由产生的这些关键组件来路由和转换消息:

    • 路由规则根据消息内容将消息定向到它们的目的地。
    • 模式类别提供了一种验证和访问消息内容的方法。
    • 数据转换应用更改来为目的地准备消息。

顺序管理器确保相关消息以正确的顺序和时间到达它们的目标。

在这里插入图片描述

下图扩展了路由过程的图表,以显示它如何使用路由规则来引导信息流通过接口。下图包含有关路由规则和数据转换的详细信息,这些信息仅由上图中的虚线圆圈表示。

路由进程有一个与之关联的路由规则集。根据规则集的定义方式以及从源应用程序到达的消息类型,规则集会标识应执行的规则。可以按顺序执行多个规则,但为简单起见,下图显示了规则集仅选择一个规则的情况。如图所示,从这一点开始,规则可以删除消息,也可以将消息发送到 IRIS 中的目的地。如果此目的地是业务操作,则消息将离开生产过程前往目标应用程序。

在这里插入图片描述

应用规范

理想情况下,应用程序提供应用程序规范文档或实施指南,解释应用程序可以发送(或接收)哪些类型的消息,以及应用程序为这些事件发送(或期望)哪些消息段和每个段的片段。

这种正式文件非常详细,非常有用。如果有可用的规范文档,应用程序的管理员可以将其展示给,并可以向解释在企业中实际使用的许多可能消息中的哪些消息。

即使没有应用规范文档,通常也会有一些非正式的文档。请应用程序管理员查看任何可用的注释。

作为文档的替代方法,或者为了验证现有文档是否正确,可以检查消息本身以确定应用程序发送或期望接收的类型。请应用程序管理员为提供保存在文件中的消息数据样本。

支持这些任务的背景信息可以在本书的后续章节和其他书中找到:

  • 在制作中使用虚拟文档中的“创建自定义架构类别”
  • 在制作中使用虚拟文档中的“控制消息验证”
  • “将接口转换为生产元素”一章中的“选择模式类别”

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

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

相关文章

Go colly爬虫框架精简高效【杠杠的】入门到精通

1 前言 1.1 Go Colly 爬虫介绍 爬虫框架中,各中流行的编程语言都有自己热门框架,python中的selenium、Scrapy、PySpider等,Java中的Nutch、Crawler4j、WebMagic、WebCollector等。golang中colly使用Go语言编写的功能强大的爬虫框架&#xf…

cpp11实现线程池(七)——线程池cached模式设计实现

用vector::size() 获取当前容器元素数量不是线程安全的,所以采用atomic_int 来实现当前容器元素数量的改变能够保证线程安全 线程池成员变量的修改 添加变量记录当前线程数量、空闲线程数量,以及线程数的上限: int threadSizeThreshHold_; …

由浅入深Netty源码分析

目录 1 启动剖析2 NioEventLoop 剖析3 accept 剖析4 read 剖析 1 启动剖析 我们就来看看 netty 中对下面的代码是怎样进行处理的 //1 netty 中使用 NioEventLoopGroup (简称 nio boss 线程)来封装线程和 selector Selector selector Selector.open();…

Trie与可持久化Trie

Trie Trie,也称为字典树或前缀树,是一种用于高效存储和检索字符串的树形数据结构。它的主要特点是利用字符串的公共前缀来减少存储空间和提高查询效率。下面是对 Trie 的常见操作的介绍: 插入(Insertion)&#xff1a…

PETRv2 论文学习

1. 解决了什么问题? 过去,一般使用基于单目视觉进行 3D 目标检测。现在进行 3D 任务的方法大致分两类。一类是基于 BEV,将多视角图像映射为 BEV 表征,然后使用 3D 目标检测方法。另一类是基于 DETR,如 DETR3D 和 PETR…

xhs-xs webmsxywx分析

近期又更新了,先是改了x-s生成,然后又加上了a1校验。 后面可能会全参校验,比如再加上gid、deviceId、profileData、x-s-common、smidV2之类。 估计以后不能写xhs了,大家且看且珍惜吧。之前相关的文章都被下架了 危!…

K8s日志组件-Loki是如何存储数据的?

文章目录 为什么需要loki为什么不是EFK?Loki是如何存储数据的?底层的LSM treeB tree 和LSM tree的区别?Ref参考链接 为什么需要loki 日志记录本质上是一个事件。大多数语言、应用程序框架或库都支持日志,表现形式可以是字符串这样…

安卓动画壁纸实战:制作一个星空动态壁纸(带随机流星动画)

前言 在我之前的文章 羡慕大劳星空顶?不如跟我一起使用 Jetpack compose 绘制一个星空背景(带流星动画) 中,我们使用 Compose 实现了星空背景效果。 并且调用非常方便,只需要一行代码就可以给任意 Compose 组件添加上…

30多家投递石沉大海,总算上岸了

大家好,我是帅地。 今年的行情,无论是暑假实习还是春招校招,都比往年要难一些,很多人在三月份要嘛简历石沉大海,要嘛面试一轮游,但也有部分人最后都拿到了不错的 Offer,包括我 训练营 里&#…

企业级信息系统开发——初探Spring-采用Spring配置文件管理Bean

初探Spring 一、Spring框架(一)Spring框架优点(二)Spring 框架因何而来(三)Spring框架核心概念 二、采用Spring配置文件管理Bean(一)创建Maven项目(二)添加Sp…

在C++中,怎么把string转换成char*?

2023年5月21日,周日中午: 今天在写项目的时候遇到了这个问题,也解决了,所以记录一下 通过string类的copy成员函数就可以解决这个问题 copy函数的函数原型: string& copy(char* s, size_t n, size_t pos 0); 其…

【框架源码】SpringBoot核心源码解读之启动类源码分析

首先我们要先带着我们的疑问,spring boot是如何启动应用程序?去分析SpringBoot的启动源码。 我们在新建SpringBoot项目时,核心方法就是主类的run方法。 SpringApplication.run(ArchWebApplication.class, args) 我们点击run方法进入到源码中…

A survey of Large Lanuage models

一.引言 语言建模的四个阶段,统计语言模型(SLM):基于马尔科夫假设建立词预测模型,n-gram,神经语言模型(NLM):word2vec,预训练语言模型(PLM&#…

Godot引擎 4.0 文档 - 入门介绍 - 学习新功能

本文为Google Translate英译中结果,DrGraph在此基础上加了一些校正。英文原版页面: Learning new features — Godot Engine (stable) documentation in English 学习新功能 Godot 是一个功能丰富的游戏引擎。有很多关于它的知识。本页介绍了如何使用…

English Learning - L3 作业打卡 Lesson2 Day11 2023.5.15 周一

English Learning - L3 作业打卡 Lesson2 Day11 2023.5.15 周一 引言🍉句1: Sometimes a person may be upset because he does not have something as nice as a friend has, like a fast new car.成分划分弱读连读爆破语调 🍉句2: That person may say…

【wifi-app 任意泄露】

一、fofa 搜索 title“Wi-Fi APP Login” # Date: 2022-06-12 # Exploit Author: Ahmed Alroky # Author Company : AIactive # Version: M30HG4.V5030.191116 # Vendor home page : wavlink.com # Authentication Required: No # CVE : CVE-2022-34047 # Tested on: Windows…

day2 I/O多路复用select函数

目录 思考一个问题: I/O多路复用select函数 代码实现 net.h server.c: socket.c 思考一个问题: 我们还是把视角放到应用B从TCP缓冲区中读取数据这个环节来。如果在并发的环境下,可能会N个人向应用B发送消息,这种情况下我们的…

java+springboot留学生新闻资讯网的设计与实现

Spring框架是Java平台的一个开放源代码的Full-stack(全栈)应用程序框架,和控制翻转容器的实现。Spring框架的一些核心功能理论,可以用于所有Java应用,Spring还为Java EE构建的Web应用提供大量的扩展支持。Spring框架没有实现任何的编程模型&a…

nodejs进阶(5)—接收请求参数

1. get请求参数接收 我们简单举一个需要接收参数的例子 如果有个查找功能,查找关键词需要从url里接收,http://localhost:8000/search?keyword地球。通过前面的进阶3教程《nodejs进阶(3)—路由处理》重介绍的url模块,我们知道接收方法如下这…

cpp11实现线程池(六)——线程池任务返回值类型Result实现

介绍 提交任务函数submitTask中返回的Result类型应该是用Result类包装当前的task,因为出函数之后task即如下形式:return Result(task); Result和Task都要互相持有对方的指针,Task要将任务执行结果通过Result::setVal(run()) 调用传给其对应…