随笔分类 -  架构

架构杂记(2)
摘要:每次JVM启动以后都是单独虚拟的一块内存空间,所以程序第一次打印 System.out.println( new Object() );的结果是一样,不管运行多少次,如果不干别的事,第二次,第三次答应,也分别可另一一次启动的JVM结果一样。我们说的hash是内存地址,是Java虚拟的内存的地址。 J 阅读全文

posted @ 2023-01-20 19:40 zhangyukun 阅读(109) 评论(0) 推荐(0) 编辑

架构杂记(1)
摘要:数据库设计的时候,有些时候可考虑横向分表,把不常用,占用空间多,并且这张表的数据可能超过千万级别,这种情况吧一个表分成基础表和拓展表,可以明显的提高数据检索效率,Btree 的结构决定每行的数据越少,每页能放的行数越多,数据结构就越矮胖,查询效率就越高 纵向分表也是一种常见的策略,用类似的也可以分库 阅读全文

posted @ 2023-01-01 14:00 zhangyukun 阅读(74) 评论(0) 推荐(0) 编辑

LVS(Linux Virtual Server)的三种工作模式
摘要:LVS(Linux virtual server) linux 虚拟主机 LVS的NAT(Network Address Translation)模式,网络地址装换 内网方式,所有的请求响应都通过LVS门户主机 请求响应的过程:客户机发送请求到LVS主机—>LVS主机修改请求里面的目标IP改为真实的 阅读全文

posted @ 2022-11-23 16:29 zhangyukun 阅读(245) 评论(0) 推荐(0) 编辑

系统架构 垂直拓展 水平拓展的区别
摘要:什么事水平拆分,什么事垂直拆分?系统架构的发展趋势是怎么样子的? 单体架构: 假设我们有一个系统,点餐系统,刚开始只有一家店子在用,用户量就那么10几人到几十人,实现这样一个系统,我们可以在这个系统里面写上我们的全部业务逻辑,关于用户的,订单的,商品的都写到一起,并且我们用一台电脑作为服务器就可以支 阅读全文

posted @ 2022-06-26 19:13 zhangyukun 阅读(367) 评论(0) 推荐(0) 编辑

cpu 多级缓存协议 MESI 状态图解
摘要:一张图表示MESI: 缓存行在cpu 共享的情况有4种状态,分别是 M 修改,E独享,S共享,I 无效4种状态。 M:修改了缓存行,但是没有同步到主内存,并且需要在别的cpu 读取这个缓存行前同步到主存。 E:独享,一个cpu 占用,这时候自己可以写,可以读。 S:共享状态,都能读,但是都还没有写。 阅读全文

posted @ 2022-05-01 17:40 zhangyukun 阅读(221) 评论(0) 推荐(0) 编辑

商品秒杀提高QPS解决方案
摘要:提高QPS有不变的几个思想: 1 缓存数据好过直接操作数据库 2 批量修改,好过单条修改 3 保护系统不宕机,宕机以后QPS 为0. 场景和要求:活动商品秒杀,需要支持大量的用户的瞬时冲击,我们需要尽量的做到QPS 高,然后我们要保证即便用户超出我们系统预期也能稳定运行。 不优化情况我们一般怎么做: 阅读全文

posted @ 2022-05-01 14:06 zhangyukun 阅读(689) 评论(0) 推荐(0) 编辑

一致性哈希 分布式扩容问题
摘要:如果有3台服务器作为分布式存储的负载均衡节点(我们这里不谈备份),三台机子各村一部分数据,理想情况下,各存1/3 存入数据的时候,数据取hash,然后模3,得到0-2,分别对应三台服务器。 查询的时候,同样计算出hash,取模,取对应的机子上取数据。 如果三台机子快满了,需要扩容怎么办?如果数据分布 阅读全文

posted @ 2022-04-27 23:11 zhangyukun 阅读(398) 评论(0) 推荐(0) 编辑

tomcat结构 请求处理过程 和 常见参数
摘要:tomcat 结构图 下面的图是一个tomcat server.xml 的默认配置 1 tomcat顶层容器是server,代表服务器,server 里面装着 一个或者多个service 代表服务。tomcat 配置文件server.xml 里面可以看出 server 作为顶层容器,默认监听 800 阅读全文

posted @ 2022-04-24 20:11 zhangyukun 阅读(450) 评论(0) 推荐(0) 编辑

导航

点击右上角即可分享
微信分享提示