logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

netty实现http服务器

参考博客[1]https://blog.csdn.net/huangshanchun/article/details/78302602

seata源码解析:分支事务的提交或回滚

介绍一个全局事务是由多个分支事务组成的,而ResourceManager就是用来管理分支事务的,主要有如下3个功能向TC注册资源接收TC的commit请求,提交分支事务接收TC的rollback请求,回滚分支事务因为Seata支持多种模式,每种模式都有对应的资源管理器,如TCCResourceManager,DataSourceManager,ResourceManagerXA等DefaultRe

电商系统分库分表

基因法(Genetics)是有局限性的,它只能完美解决“双维度”问题(比如买家维度 + 订单维度),按 seller_id 依然无法直接进行精准路由,可以采用后面的几种方案来解决。做法:建立一张极其轻量级的映射表 t_seller_buyer_map,字段非常简单,只有两个:seller_id 和 buyer_id(可以再加个 order_id)。原理:在生成 order_id(订单 ID)时,把

文章图片
#架构
如何对微服务进行拆分?

例如,电商系统可以拆分为:用户服务、商品服务、订单服务、库存服务、支付服务、物流服务、购物车服务、评价服务。区分系统中经常变化的部分和不经常变化的部分,将变的部分和不变的部分拆开后,可以避免不变的部分频繁发布。:将访问量大,访问频率高的业务,比如秒杀服务。这样既能保证高性能的要求,又能避免影响其他业务。:拆分应该服务于业务,而不是为了拆分而拆分。将可靠性要求高的核心服务和可靠性要求低的非核心服务拆

文章图片
#微服务#架构#云原生
图解分布式系统架构演进之路

介绍参考博客[1]https://www.cnblogs.com/dump/p/8125539.html[2]

Kafka 如何保证消息的可靠性投递?

如果所有的 ISR(同步副本)都挂了,剩下的只有数据版本非常旧的副本。这个新 Leader 并没有包含之前已经确认的消息,将该参数设为 false(默认值),宁愿牺牲可用性(停止服务)也不要丢失数据。:enable.idempotence=true,即使生产者因为网络原因多次发送同一条消息,Broker 也会通过序列号(Sequence Number)去重(可靠性的一部分,但不解决丢失,解决重复)

文章图片
#kafka#分布式
数据库如何实现高性能?

在大多数互联网应用中,读(Select)的压力远大于写(Insert/Update/Delete)(通常是 8:2 甚至 9:1)。读写分离的核心思想就是把“写操作”和“读操作”分给不同的数据库服务器来处理。主库(Master): 只负责处理写操作,以及少量的实时读操作。从库(Slave): 只负责处理读操作,可以有多个。

文章图片
并发理论:管程和信号量

在操作系统中,信号量(Semaphore)和管程(Monitor)是两种最核心的同步机制,用于解决多线程或多进程在并发执行时的互斥(不能同时访问临界资源)和同步(按特定顺序执行)问题。

文章图片
#java
claude code 使用教程

输入cluade命令即可打开?for shortcuts 代表处于默认模式生成完毕会有如下选项创建,后续的每次创建还需要询问创建,后续的创建操作不需要询问不创建我们选2,创建完毕,注意下面的提示词变了这就不得不提到 Claude code有三种模式,我们可以使用shift +tab在三种模式间循环我们可以输入!,然后再输入命令,就可以直接执行shell命令五子棋游戏我们现在生成好了我们切换到规划模

文章图片
如何设计一个聊天系统?

如果客户端发现新收到的消息 msgSeq = 5,而本地最大的还是 3(中间丢了 4),客户端会暂时把 5 放入缓存队列中不展示,同时向服务器发起请求“补发第 4 条消息”,或者直接触发一次离线拉取,等 4 到了之后再按顺序一起渲染。我们将不同的消息类型,转发到不同的消息队列中,如果队列中的消息串行的去处理,肯定不会有顺序的问题,但是性能是不可接收的,所以要用多线程去消费消息,如果要用多线程消费消

文章图片
#系统架构
    共 33 条
  • 1
  • 2
  • 3
  • 4
  • 请选择