分布式技术
文章平均质量分 84
分布式中间件及相关程序设计
korgs
原某互联网大厂P8架构师,多年耕耘电商、医疗、网络安全领域,现主要从事CNN深度学习图像处理开发。腾讯、钉钉、支付宝、阿里云兼职讲师,曾参与ACP、开悟AI、斑马智行车机等多套认证课程制作。阿里云社区/51CTO/腾讯云等多个开发者社区专家博主。全栈工程师,精通java、python、objective-C、swift、c++、react语言。
展开
-
从软件架构设计角度理解Kafka
网上对于消息中间件的介绍文章比较多,这里我们不再赘述,我们换个思路来理解消息中间件,从软件开发架构的角度来看下消息中间件是如何诞生和演进的。原创 2024-09-25 14:16:53 · 851 阅读 · 0 评论 -
阿里云隐私计算二期ECS云上资源配置
阿里云隐私计算二期ECS云上资源配置文档。原创 2024-06-08 09:16:40 · 385 阅读 · 0 评论 -
Rocketmq(一) - 安装
macos安装Rocketmq原创 2023-04-07 08:14:11 · 1041 阅读 · 1 评论 -
Rocketmq(二) - 架构详解
Apache RocketMQ 是一个分布式消息和流媒体平台,它由四个部分组成:名称服务器、代理、生产者和消费者。它们中的每一个都可以水平扩展以杜绝单点故障,基础架构原创 2023-04-08 12:37:19 · 659 阅读 · 0 评论 -
一文读懂RabbitMQ
RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。 AMQP :Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言 等条件的限制。原创 2023-04-09 13:42:57 · 149 阅读 · 0 评论 -
一文读懂Kafka
Kafka 是一种高吞吐量、分布式、基于发布/订阅的消息系统,最初由 LinkedIn 公司开发,使用 Scala 语言编写,目前是 Apache 的开源项目。原创 2023-04-09 13:47:00 · 76 阅读 · 0 评论 -
数据库索引(6)- mysql基础
上面4章围绕索引讲索了一些通用的实现原因,但并没涉及到具体的数据库。因笔者接触最多的是就是mysql数据库,所以综合以上知识点罗列下mysql数据库的特点。原创 2023-04-01 11:46:38 · 97 阅读 · 0 评论 -
数据库索引(7)- 扩展(数据库事务)
两阶段提交主要保证了分布式事务的原子性:即所有结点要么全做要么全不做,所谓的两个阶段是指:第一阶段:准备阶段;第二阶段:提交阶段。将提交分成两阶段进行的目的很明确,就是尽可能晚地提交事务,让事务在提交前尽可能地完成 所有能完成的工作。原创 2023-04-01 11:49:57 · 73 阅读 · 0 评论 -
Mybatisplus-【1/3】基础
mybatis专题原创 2023-03-30 12:02:16 · 125 阅读 · 0 评论 -
Mysql数据库索引(2)- 为select设计索引
为select设计索引原创 2023-03-31 08:06:05 · 880 阅读 · 0 评论 -
数据库索引(4)- 数据库管理系统与索引的关系
数据库不同,其底层实现多少有些差异,所以在设计数据库前需要先了解下数据库的原理和设计实现,这些往往也会对索引的设计产生影响,本章笔者会列出一些比较常见的因素供读者参考。原创 2023-04-01 11:46:02 · 132 阅读 · 0 评论 -
Mybatisplus-【3/3】高级操作
mybatis专题系列原创 2023-03-30 12:08:05 · 1271 阅读 · 0 评论 -
Mysql数据库索引(1)-基础
mysql索引优化原创 2023-03-31 08:02:56 · 86 阅读 · 0 评论 -
数据库索引(5)- Explain工具
数据库索引(5)- Explain工具原创 2023-04-01 11:47:27 · 130 阅读 · 0 评论 -
数据库索引(3)- 为表连接设计索引
一文弄懂如何为关联表设计mysql数据库索引原创 2023-04-01 11:42:37 · 596 阅读 · 0 评论 -
数据库索引-数据库事务(7)
事务协调者(事务管理器)给每个参与者(资源管理器)发送 Prepare 消息,每个参与者要么直接返回 失败(如权限验证失败),要么在本地执行事务,写本地的 redo 和 undo 日志,但不提交,到达一 种“万事俱备,只欠东风”的状态。两阶段提交主要保证了分布式事务的原子性:即所有结点要么全做要么全不做,所谓的两个阶段是指:第一阶段:准备阶段;那么即使协调者通过选举协议产生了新的协调者,这条事务的状态也是不确定的,没人知道事务是否被已经提交。与两阶段提交不同的是,三阶段提交有两个改动点。原创 2023-05-13 09:32:26 · 57 阅读 · 0 评论 -
Mybatisplus-【2/3】基础操作
mybatis专题系列原创 2023-03-30 12:06:32 · 861 阅读 · 0 评论 -
Redis系列(6)- 通用使用场景
Redis系列(6)- 通用使用场景原创 2023-05-08 15:22:03 · 73 阅读 · 0 评论 -
Redis系列(3)- cli常用命令
Redis系列(3)- cli常用命令原创 2023-05-05 23:58:30 · 2144 阅读 · 0 评论 -
Redis系列(8)-Redisson2(使用)
Redis系列(8)-Redisson2(使用)原创 2023-05-09 00:22:57 · 1289 阅读 · 0 评论 -
Redis的服务端配置详解(2)
Redis的服务端配置详解(2)原创 2023-05-04 02:55:22 · 216 阅读 · 0 评论 -
Redis系列(8)-Redisson1(基础)
Redis系列(8)-Redisson1(基础)原创 2023-05-09 00:21:00 · 163 阅读 · 0 评论 -
Redis系列(5)- 性能优化
redis相对来讲还是比较简单的,可以简单的认为是简化版本的mysql,一般会有以下几种使用场景:1、持久化,一般用于缓存少量数据;2、二级缓存,同时带ttl时间;3、复杂的检索,通过组合多种数据结构来实现的,一般只是应用在类如消息已读这样的功能中,同时一般会有业务时效的限制,数据不是那么敏感;原创 2023-05-06 08:31:10 · 144 阅读 · 0 评论 -
Redis系列(7)- java客户端-JedisSDK+Spring
Redis系列(7)- java客户端-JedisSDK+Spring原创 2023-05-08 15:22:45 · 164 阅读 · 0 评论 -
Redis系列(4)- 管理客户端
Redis系列(4)- 管理客户端原创 2023-05-06 08:25:33 · 123 阅读 · 0 评论 -
Redis的安装与配置(1)
Redis的安装与配置(1)原创 2023-05-04 02:51:36 · 723 阅读 · 0 评论 -
elasticSearch-安装(1/7)
今天笔者新开一个系列es(以后简称es),原因是笔者在日常工作中发现大部分研发同学只了解其API开发,对于技术评估和索引优化基本是黑盒的状态,而这个中间件又是互联网公司面试和工作中的非常得要的一个。纯B端的应用开发基本不会接触到es,在此笔者不会描述太深,主要围绕核心原理和日常开发这两点,假如有意愿的同学建议全篇通读一下。对于日常工作和面试基本够用了。原创 2023-05-10 08:33:19 · 248 阅读 · 0 评论 -
elasticSearch-高级检索(6)
一对一,type=object,把对象以JSON的方式存储,比如address,这种存储方式适合单个条件查询,当单条件查询时都可以定位到准确的字段,当两个条件混查时 ,上面的例子可能就匹配不到数据或匹配到两条数据。多对多,type=group,同一数据多处复制,优点是采用 冗余数据的方式能保证数据保存在同一个分片中,省去了跨表查询以及应用端连接的网络开销问题。如果滚动查询返回的结果过多,可以用切片并行查询,上滚动查询每次查询的基础上都添加,但这个操作由于会使用缓存,所以使用时需仔细规划下切片的数量。原创 2023-05-12 00:45:46 · 86 阅读 · 0 评论 -
elasticSearch-原理(2)
纯java开发,采用倒排索引进行文档的索引,同时通过TF-IDF(词频-逆文档词频)排序算法确保结果的相关性。在索引过程中还可以通过脚本的方式自定义:1、处理拼写错误;2、关键词变体,分词;3、查询内容时附带统计信息;4、自动提示功能等。可以用于主存储也可以用于文档搜索。需要注意的是es不支持事务,所以用做主存储时需要特别留意。es的优点是:1、以文档为基础,可用作nosql存储;2、同时提供了自动分片功能,横向扩展性比较好;3、同一文档可以建立多个索引;在es官方里,还有一个称为。原创 2023-05-10 08:36:46 · 656 阅读 · 0 评论 -
elasticSearch-elasticsearch-rest-high-level-client开发
本章基于java的sdk演示下es的操作。例子稍简单一点,读者可自己扩展。本发环境如下:mac os 11、es7.8.0、idea2022。原创 2023-05-17 08:56:52 · 325 阅读 · 0 评论 -
elasticSearch-mapping定义(4)
此章依然是es的restfulAPI,因为es的映射是可选的操作,又由于其比较重要,所以单拿一节告别说明。除了API还有字段定义(相当于mysql的create table)相关的知识点,这些对优化es比较有意义。原创 2023-05-11 15:10:52 · 98 阅读 · 0 评论 -
elasticSearch-聚合查询(5)
如果是多个分片,多数是每个分片返回指定的数量,然后聚合后再截取,比如要求返回10条,则ES每个分片都返回10条数据,经协调节点后再截取其中10条返给客户端。下面例子说明,中位数是25701,但绝对偏差为12246,说明曲线波动很大,比如一个商品的评分为3,但偏差为2,则说明有人打了1分。不匹配的文档单独列出一列 other_bucket_key,这是定义一个名为ddd的key,里面放的是全部文档其了age1和age2其它的统计数据的和。这个相当于count功能,只不过它提取的是参与计算的值的数量。原创 2023-05-12 00:43:41 · 240 阅读 · 0 评论 -
elasticSearch-restfulApi(3)
此章内容比较简单,是官方的一个主要API,精选了一些日常开发中需要使用的,罗列一下。本文档介绍的API分为两类:1、resutful;2、sql。建议大家使用restful方式,因为通用性比较好。原创 2023-05-11 15:11:21 · 214 阅读 · 0 评论 -
Zookeeper(1) - 理论基础
Zookeeper(1) - 理论基础原创 2023-05-01 11:07:15 · 301 阅读 · 0 评论 -
Zookeeper(3) - 常用应用场景
Zookeeper(3) - 常用应用场景原创 2023-05-02 14:19:34 · 136 阅读 · 0 评论 -
Zookeeper(4) - 会话管理和事务处理
Zookeeper(4) - 会话管理和事务处理原创 2023-05-03 09:59:28 · 1476 阅读 · 1 评论 -
Zookeeper(5) - Curator编程
Zookeeper(5) - Curator编程原创 2023-05-03 10:01:01 · 118 阅读 · 0 评论 -
Zookeeper(2) - 配置详解与启动原理
Quorum是集群模式下特有的对象,是Zookeeper服务器实例(ZooKeeperServer)的托管者,QuorumPeer代表了集群中的一台机器,在运行期间,QuorumPeer会不断检测当前服务器实例的运行状态,同时根据情况发起Leader选举。会有多个请求处理器依次处理一个客户端请求,在服务器启动时,会将这些请求处理器串联成一个请求处理链。Zookeeper服务器首先会进行服务器实例的创建,然后对该服务器实例进行初始化,包括连接器、内存数据库、请求处理器等组件的初始化。10. 注册JMX服务。原创 2023-05-02 14:17:16 · 2461 阅读 · 0 评论 -
加密算法基础
加密算法基础原创 2023-04-28 08:09:02 · 140 阅读 · 0 评论 -
分布式框架实现基础之IO技术(5) - 加密算法基础
在业务开发范围内,加密算法一般在gateWay、Token类以及IM类的应用经常使用。一般不会用到太深,但都需要经过仔细设计。因为这类代码一般都涉及到底层和上下游的交互。后期改造的成本比较大,笔者曾经做过几个登陆程序,有时间总结下设计思路。原创 2023-04-10 09:02:28 · 84 阅读 · 0 评论