20220422
一旦参透这九个电商系统架构,全能型架构师无疑了-51CTO.COM面对这么多的业务域,有没有通用技术经验可以抽取,让我们可以 以一应百。https://developer.51cto.com/article/707081.html
20220421
1、性能和一致性不能同时满足,为了性能考虑,通常会采用「最终一致性」的方案;
2、掌握缓存和数据库一致性问题,核心问题有 3 点:缓存利用率、并发、缓存 + 数据库一起成功问题;
3、失败场景下要保证一致性,常见手段就是「重试」,同步重试会影响吞吐量,所以通常会采用异步重试的方案;
4、订阅变更日志的思想,本质是把权威数据源(例如 MySQL)当做 leader 副本,让其它异质系统(例如 Redis / Elasticsearch)成为它的 follower 副本,通过同步变更日志的方式,保证 leader 和 follower 之间保持一致。
关于缓存更新的一些可借鉴套路_缓存_架构精进之路_InfoQ写作社区hello,大家好,我是张张,「架构精进之路」公号作者。一、背景目前随着缓存架构方案越来越成熟化,通常做法是引入「缓存」来提高读性能,架构模型就变成了这样:先来看一下什么时候创建缓存,前端请求的读操作https://xie.infoq.cn/article/3fb9b02fb6032c47588686226
如果系统能实现任意单一对象的单一读操作都返回最近写操作的值(A Read returns the most recently value written),则代表了这个系统实现了在技术层面对于单一对象单一操作的的最强的一致性需求
浅析分布式系统之体系结构 技术基本目标----一致性(单对象、单操作)_snlfsnef_InfoQ写作社区一致性的本质一致性定义:逻辑层面,一致性(consistency)是指一個形式系統中不蕴含矛盾(wiki)。在计算机系统的范畴之内,一致性其实是一种人们对于系统的综合需求,人们往往需要计算机的运行结果https://xie.infoq.cn/article/6cef87b1d366703f8bfa9d8c9
20220420
深入浅析Go中三个点(...)用法
标识数组元素个数
| 1 | stooges := [...]string{"Moe", "Larry", "Curly"} // len(stooges) == 3 var strss= []string{ "qwr", "234", "yui", "cvbc", } test1(strss...) //切片被打散传入 strss... 等同于 "qwr","234","yui","cvbc" |
Go命令行中的通配符
描述包文件的通配符。
在这个例子中,会单元测试当前目录和所有子目录的所有包:
| 1 | go test ./... |
这里,...意味着数组的元素个数:
https://www.jb51.net/article/224566.htmhttps://www.jb51.net/article/224566.htm
ZGC 没有分代的概念
ZGC 的内存布局说起。与 Shenandoah 和 G1一样,ZGC 也采用基于 Region 的堆内存布局,但与它们不同的是 , ZGC 的 Region 具 有 动 态 性 (动态创建和销毁 , 以及动态的区域容量大小)。在 x64硬件平台下 , ZGC 的 Region 可以具有大、中、小三类容量(如下图所示):
- 小型 Region (Small Region ):容量固定为 2M, 存放小于 256K 的对象。
- 中型 Region (Medium Region):容量固定为 32M,放置大于等于256K但小于4M的对象。
- 大型 Region (Large Region): 容量不固定,可以动态变化,但必须为2MB 的整数倍,用于放置 4MB或以上的大对象。
JVM 从入门到放弃之 ZGC 垃圾收集器-51CTO.COM本文主要是从概念上描述了 ZGC 的特征和工作过程。目前大多数互联网公司还是使用 jdk 8、jdk 11 主流使用的还是 ParNew + CMS 组合或者 G1。https://developer.51cto.com/article/706899.html
go 通过"~"来表示支持类型扩展类型
否则只能接受 constraint 列表中的类型作为调用的参数,包括这些类型的别名。但对于列表中类型的衍生类型就不能接受了
泛型真的会让程序变慢吗?(Go1.18新特性)_golang_蔡超_InfoQ写作社区基本语法定义可接受类型列表(constraint)简单来说,Go的泛型就是将参数类型定义为一个可接受类型的列表(称为constraint),直接上例子。例1: 方法定义上使用范型func Max[Thttps://xie.infoq.cn/article/2c845a2e3d527541d6946e00a
20220419
Redis是怎样通讯的?_redis_ooooooh灰灰_InfoQ写作平台模型Redis 协议模型就是简单的请求-响应模型,和平常的 Http 协议有点类似。客户端发送 Redis 命令,然后服务端处理命令并返回结果给客户端。Redis 官方说这可能是最简单的网络协议模型了https://xie.infoq.cn/article/0496d06df156ad6a9ff365d08MySQL 是怎样通讯的?_Go_ooooooh灰灰_InfoQ写作平台前言我们平常使用数据库的场景一般是程序里面代码直接连接使用,然后进行 CRUD 操作。或者使用有 GUI 界面的数据库软件来手动操作数据库, 这类软件有 DataGrip、Navicat等等...。平https://xie.infoq.cn/article/42e11a05bf40d0ee709a68bb6MySQL 协议明文连接代码实现[Go语言] · GitHubMySQL 协议明文连接代码实现[Go语言]. GitHub Gist: instantly share code, notes, and snippets.https://gist.github.com/greycodee/22f98464fece7792a83433a1fba58e2ahttps://gist.github.com/greycodee/4a102aa9ae689aea1874b1fe06190192https://gist.github.com/greycodee/4a102aa9ae689aea1874b1fe06190192



