sujin190

sujin190

🏢  南京
V2EX 第 36127 号会员,加入于 2013-03-19 10:01:03 +08:00
今日活跃度排名 2226
支持多数据源联合查询的本地运行 SQL 执行引擎安装和配置
数据库  •  sujin190  •  2023-07-18 09:35:23 AM  •  最后回复来自 sujin190
2
k8s 集群的 ingress 为啥识别不到另一个节点部署的 pod
Kubernetes  •  sujin190  •  2022-03-16 21:36:12 PM  •  最后回复来自 sujin190
2
分享一下完全不依赖 asyncio 也支持异步语法的库
Python  •  sujin190  •  2021-10-12 15:29:44 PM  •  最后回复来自 sujin190
59
sujin190 最近回复了
4 天前
回复了 tairan2006 创建的主题 Java 支持虚拟线程的 TCP 服务框架?
netty 支持虚拟线程有啥实际意义,虚拟线程协程之类的最大意义本来就是在用同步语法写异步逻辑,netty 就不可能再改回来变成同步语法否则也就不是 netty 了,还不说虚拟线程在线程上又多了一层调度器除了白白损失性能对 netty 意义不大吧,netty 的 Handler 本来就不应该有同步 io 操作,否则用 netty 这麻烦的说不是对此一举,有需要同步 io 操作本来就应该放到独立 executor 中去,这独立 executor 完全就可以是虚拟线程的啊
10 天前
回复了 blessingcr 创建的主题 程序员 有一个消息同步的问题请教各位 dalao
@blessingcr #17 吞吐、延时和一致性,区块链这货一致性完全就是靠牺牲吞吐和延时来得到的,而且并不能达到保持时序的作用,区块链的逻辑完全就是按照收到消息的顺序提交,然后谁得到的确认多谁有限,没说保证消息时序

kafka 分区保证时序是最容易实现的了,性能不够也可以考虑 mq 分队列啊,逻辑虽然都是一个分区或者一个队列只能有一个消费者来保证时序,但是 mq 的队列数量可以多一些

此外也可以加分布式锁,和多线程编程解决时序一致逻辑一样,其性能损失和冲突率有关,看你这描述,saas 系统的动作都是人产生的,冲突概率应该极低才对,加锁的性能损失可以不计了,加锁也可以放在消息队列后面,那消息队列就可以不用考虑使用分区保证顺序了
如果只是服务器回了 syn-ack 之后客户端都没回 ack 就直接 rst 的话,怎么感觉像是 seq 异常了?
12 天前
回复了 chenfang 创建的主题 程序员 集群如何控制 QPS?
@nc2017 #16 并不是,独立服务并没有用到 redis ,虽然本至还是内存存储的原子计数器,区别就是这个服务对每个 key 的加 1 操作都有独立的超时时间,而且是主动精确超时时间,不像 redis 非精确超时时间,超时后自动减 1 ,并且每个 key 可以设置可以加到的最大值,到这个值之后会 wait ,而这个等待时间也是可以设置的,通过这三个参数就可以设计出不同的限流器,TokenBucketFlow 只是某个特定参数组合的客户端封装实现,服务器这个都只有一个操作,因此性能非常可以,内存使用量也不算特别大

同时每个独立的加 1 操作和其包含的过期时间都是独立同步到从节点的,客户端连接从节点命令会自动发送到主节点,所以客户端这边是整个集群的所有节点都是一样的,多核支持性能不够问题可以通过扩容 cpu 核心数和内存就行,不过因为指令简单,支持的 qps 很高,一般应该不需要考虑性能不够问题
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2595 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 21ms · UTC 06:31 · PVG 14:31 · LAX 22:31 · JFK 01:31
Developed with CodeLauncher
♥ Do have faith in what you're doing.