流架构的读书笔记(2)

流架构的读书笔记(2)

一、建模工具之一沃德利地图

推测技术的发展,交流和辩论思想的最有力的方法是沃德利地图

沃德利地图的制作步骤
1确定范围和用户需求
2确定满足用户需求所需的组件
3在一条范围从全新到被人们接受的演进轴上评估这些组成
部分的演进过程

地图的横轴是演化进程,从起源,定制,产品,商品四个阶段.
地图的纵轴是价值链的可见性的度量,从不可见到可见的过程.

在做地图的时候,需要问自己的问题有
谁是需要流集成的用户?
一个不太显眼的组件对一个更显眼的组件有什么承诺呢?

二、流架构的主要的组件的简介

定义,创建和控制流连接的接口
定义如何以及何时在两个实体之间传输数据的协议(包括格式化和流控制)

逻辑关联:消费者与生产者协商建立和管理对流的访问的接口
发现:用于发现流的来源并描述其属性(如数据量,使用的协议)的接口

逻辑关联的接口在生产者与消费者(或他们的代理,如有使用)之间
建立了一个关于如何打包和支付数据的契约。这个接口将允许使用者
发送身份验证信息以建立订阅,订阅有效时管理该订阅,以及在不再需要
订阅时关闭该订阅。

使用发现接口来确定流的质量,例如技术流量,负载模式,财务费用等。

接口的例子:HTTP,WEBSocket,MQTT
消息传递协议的例子:MQTT,AMQP,Kafka Connect API ,Kabbit MQ API

源:收集数据的设备或者软件组件
处理器:处理传入的数据的组件
队列:一种代表生产者消费者收集存储转发流数据和事件的机制
接收器:用于显示,存储流结果的组件

容量:执行各种计算任务所需要的时间和资源
商品服务:许多流交互任务所需要的共享计算能力

三、技术演进阶段

起源:独特,罕见,不确定,不断变化,新发现
定制:仍在学习,不寻常,频繁变化
产品:包括租赁,定义更明确,稳定,同一
商品:包括工具集,高度标准化

产品阶段重点是改善运营,维护产品
商品阶段重点是无情地消除偏差,提高工业化程度和运营效率。

四、流架构的前身

实时数据共享的最早尝试只是允许共享访问文件或者是数据库。

组合数据库涉及重写(以及“重新布线如打开新的网络端口”)
现有的应用程序,或者插入新技术来同步两个应用程序的数据库
之间的数据(本质上就是在两个数据库之间创建一个数据流)

软件使用消息队列来实现异步通信。侧重于生产者和消费者解耦,
并提供各种传递保证。

MQTT是一种发布和订阅的协议。
基本操作如下:
1客户端(充当发布者,访阅者或者两者兼而有之)请求与代理连接。
 该连接被分配了一个连接ID,并由客户端和代理监控
2代理管理一个主题列表,使其能够识别对一组消息集合感兴趣的订阅者组
3作为订阅者的客户端请求订阅一个或者多个主题
4充当发布者的客户端向包含相关主题名称的代理发布消息。
5然后,代理使用主题名称将消息路由到适当的客户端

HTTP是一个请求应答的协议
WEBSocket是一个通信的协议

事件处理引擎包括 函数(包括低代码或无代码处理器)
基于日志的流平台,有状态的流处理。

可组合系统通常不会出现在商业平台中,因为这些平台试图通过预定义
关键流程或流程自动化元素来移除工作。

对于平台供应商来说,使用连接器是一种理想的方案,因为它们可以实现
生态系统形成和营销方案的一致性。通过控制谁和什么可以扩展你的平台,
你可以控制品牌,市场契合度和效用。还可以避免由于采用这种可组合的
方法所造成的针对平台的许多奇怪的意想不到的用法。

五、建设一个流的未来的三件事

1确定组织中对接近实时处理的需求,以响应组织软件系统内外状态的变化
2采用“事件优先”策略来架构和操作满足这些需求应用程序和服务,
包括与外部实体集成的地方
3 考虑参与流程标准,相关技术或组织网络的创建,以提高效率或通过流创建
新的市场生态系统。

六、流媒体和服务的四个类别

寻址和发现
命令和控制
查询和可观测性
遥测和分析

在现代复杂的系统环境中,必须跨服务协调工作,以正确定位,表示,
(即分配标识符)并且利用系统范围内的每个新实体和现有的实体。
这就是所谓的寻址和发现。

询问事件流的问题,并且使用该数据来理解行为查询和可观测性侧重于
询问和监控单个代理或特定的(尽管可能很大)组的代理。
而遥测和分析侧重于理解系统行为。

双向对话用消息,单向传信息用事件,事件用于警报,通知,简单状态
更新,系列事件的应用程序包括股票行情,气候数据跟踪,医疗保健监测等。

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

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

相关文章

电脑缺失libcurl.dll怎么解决?详解电脑libcurl.dll文件丢失问题

一、libcurl.dll文件丢失的原因 libcurl.dll是一个用于处理URL传输的库文件,广泛应用于各种基于网络的应用程序。当这个文件丢失时,可能会导致相关应用程序无法正常运行。以下是libcurl.dll文件丢失的一些常见原因: 软件安装或卸载不完整&a…

matlab读取二进制文件,要指定保存的数据类型

1、 a [1,2;3,4]; fileID fopen(hao.bin, wb); % 以二进制写入模式打开文件 fwrite(fileID, a, uint16); % 假设a中的数据可以表示为无符号32位整数 fclose(fileID); fileID fopen(hao.bin, rb); % 以二进制读取模式打开文件k fread(fileID); 自动识别16位还…

【Java 数据结构】移除链表元素

🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 目录 1. 题目 2. 解析 3. 代码实现 4. 小结 题目出处:203. 移除链表元素 - 力扣(LeetCode) 1. 题目 给你一个链表的头节点 …

CannotRetrieveUpdates alert in disconnected OCP 4 cluster解决

环境: Red Hat OpenShift Container Platform (RHOCP) 4 问题: Cluster Version Operator 不断发送警报,表示在受限网络/断开连接的 OCP 4 集群中无法接收更新。 在隔离的 OpenShift 4 集群中看到 CannotRetrieveUpdates 警报: …

jvm排查问题-实践追踪问题 与思路--堆内堆外内存泄漏排查方针

概述 排查问题的一般思路是:现象 ——> 直接原因 ——>根本原因。 从问题现象出发,可以分为 应用逻辑问题、资源使用问题、虚拟机异常: 应用逻辑可能导致报错增加、死锁、程序退出等;资源问题主要集中在CPU上升和内存上升(OOM Kill);虚拟机问题通常包括GC问题、进…

uniapp:微信小程序文本长按无法出现复制菜单

一、问题描述 在集成腾讯TUI后,为了能让聊天文本可以复制,对消息组件的样式进行修改,主要是移除下面的user-select属性限制: user-select: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms…

深入浅出:从入门到精通大模型Prompt、SFT、RAG、Infer、Deploy、Agent

阅读原文 渐入佳境 我们都知道,通过编写一个提示词(prompt),我们可以引导大模型生成回答,从而开启愉快的人工智能对话,比如让模型介绍一下卡皮巴拉。上边简图描述了这个过程,我们拆成两部分 pr…

机器学习作业 | 泰坦尼克号生存的预测任务

泰坦尼克号生存的预测任务 学校作业,我来水一水 环境:pycharmanaconda虚拟环境 文章目录 泰坦尼克号生存的预测任务0.环境搭建参考:1 目的与要求2 任务背景3 任务简介4 模型介绍1.决策树(Decision Tree)2.朴素贝叶斯…

leetcode 面试经典 150 题:矩阵置零

链接矩阵置零题序号73题型二维数组解题方法标记数组法难度中等熟练度✅✅✅✅ 题目 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1]…

【MySQL】搞懂mvcc、read view:MySQL事务原理深度剖析

前言:本节内容是事务里面最难的一部分, 就是理解mvcc快照读和read view。这两个部分需要了解隔离性里面的四种隔离级别。 博主之前讲过,但是担心友友们不了解, 所以这里开头进行了复习。 下面开始我们的学习吧! ps&…

GXUOJ-算法-第四次作业(圆排列、连续邮资、n皇后、符号三角形)

1.圆排列 问题描述 GXUOJ | 圆排列 代码解答 #include<bits/stdc.h> using namespace std;int n; int r[1000]; double calculate(int r[],int n,double minL){double x,y;double sum0;for(int i0;i<n;i){int x,y;xr[i];yr[i1];//sumsqrt((xy)*(xy)-(x-y)*(x-y));s…

c++最大公约数和最小公倍数的深入剖析

目录 一、概念基础 二、常见算法及深度解析 1. 辗转相除法&#xff08;欧几里得算法&#xff09; 2. 更相减损术 3. 结合辗转相除法和更相减损术&#xff08;优化算法&#xff09; 三、应用场景全面举例 1. 化简分数 2. 判断互质关系 一、什么是最小公倍数 二、求最小…

【PCIe 总线及设备入门学习专栏 4.5 -- PCIe Message and PCIe MSI】

文章目录 PCIe Message 与 MSIPCIe Message 和 MSI 的作用与关系MSI 的配置与寄存器MSI 和 ARM GIC 的关系示例&#xff1a;MSI 在 ARM GIC 的实际应用总结 PCIe Message 与 MSI 本文将介绍 PCIe message 的作用以及message 与 MSI 的关系&#xff0c;再介绍 MSI 如何配置以及…

每天40分玩转Django:Django类视图

Django类视图 一、知识要点概览表 类别知识点掌握程度要求基础视图View、TemplateView、RedirectView深入理解通用显示视图ListView、DetailView熟练应用通用编辑视图CreateView、UpdateView、DeleteView熟练应用Mixin机制ContextMixin、LoginRequiredMixin理解原理视图配置U…

IndexOf Apache Web For Liunx索引服务器部署及应用

Apache HTTP Server 是一款广泛使用的开源网页服务器软件,它支持多种协议,包括 HTTP、HTTPS、FTP 等 IndexOf 功能通常指的是在一个目录中自动生成一个索引页面的能力,这个页面会列出该目录下所有的文件和子目录。比如网上经常看到的下图展现的效果,那么接下来我们就讲一下…

C++的第一个程序

前言 在学习c之前&#xff0c;你一定还记得c语言的第一个程序 当时刚刚开始进行语言学习 因此告诉到&#xff0c;仅仅需要记住就可以 #include <stdio.h>int main(){printf("Hello World");return 0; }而对于c中的第一个程序&#xff0c;似乎有所变化 C的…

ipad如何直连主机(Moonlight Sunshine)

Windows 被连接主机&#xff08;Windows&#xff09; 要使用的话需要固定ip&#xff0c;不然ip会换来换去&#xff0c;固定ip方法本人博客有记载Github下载Sunshine Sunshine下载地址除了安装路径需要改一下&#xff0c;其他一路点安装完成后会打开Sunshine的Web UI&#xff…

mac docker部署jar包流程

mac docker部署jar包流程 默认服务器已经准备好了相关的准备工作&#xff0c;如&#xff1a;docker&#xff0c;docker内安装所需软件数据库&#xff0c;jdk等&#xff0c;将要部署等jar包。 1:将jar 包上传到服务器目录下&#xff1a;/usr/local/service (没有目录可以自己创建…

Qt -初识

博客主页&#xff1a;【夜泉_ly】 本文专栏&#xff1a;【暂无】 欢迎点赞&#x1f44d;收藏⭐关注❤️ 文章目录 &#x1f4da; 前言&#x1f6e0;️ 搭建环境&#x1f4c2; 新建项目&#x1f4dd; 初始代码理解main.cppwidget.hwidget.cppwidget.uiHelloWorld.pro&#x1f6e…

2024.12.30(多点通信)

作业&#xff1a; 1、将广播发送和接收端实现一遍&#xff0c;完成一个发送端发送信息&#xff0c;对应多个接收端接收信息实验。 发送端 #include <myhead.h>#define PORT 8888 #define IP "192.168.124.255"int main(int argc, const char *argv[]) {//1、…