随笔分类 -  架构篇

架构篇
摘要:前言 每一次HTTP请求,数据库的事务的执行,我们追踪代码执行的过程中,需要一个唯一值和这些业务操作相关联,对于单机的系统,可以用数据库的自增ID或者时间戳加一个在本机递增值,即可实现唯一值。但在分布式,又该如何实现唯一性的ID 分布式ID的特性 数据库自增的ID Redis分布式ID Zookee 阅读全文 »
posted @ 2021-06-27 10:20 潜行前行 阅读(603) 评论(2) 推荐(1) 编辑
摘要:前言 java有synchronize和Lock,mysql 修改类的sql也带有锁。锁定数据状态,让数据状态在并发场景,按我们预想逻辑进行状态转移,然而在分布式,集群的情况下,怎么去锁定数据状态呢 数据库的分布式锁方案 基于redis实现分布式锁 基于zookeeper实现分布式锁 关注公众号,一 阅读全文 »
posted @ 2021-06-22 16:37 潜行前行 阅读(605) 评论(0) 推荐(0) 编辑
摘要:前言 上一篇架构篇:分布式理论CAP、BASE,我们了解到分布式存在的问题以及大致的解决理论,但是具体的实现协议或者方案有哪些? 分布式一致性 分布式共识算法 paoxs、Raft、zab 分布式事务一致性 分布式事务一致性的实现方案(XA模式和AT模式) 两阶段提交 三阶段提交 柔性事务TCC A 阅读全文 »
posted @ 2021-06-05 15:08 潜行前行 阅读(623) 评论(0) 推荐(0) 编辑
摘要:数据序列化存储,或者数据通过网络传输时,会遇到不可避免将数据转成字节数组的场景。字节数组的读写不会太难,但又有点繁琐,为了避免重复造轮子,jdk推出了ByteBuffer来帮助我们操作字节数组;而netty是一款当前流行的java网络IO框架,它内部定义了一个ByteBuf来管理字节数组,和ByteBuffer大同小异 阅读全文 »
posted @ 2021-03-14 15:24 潜行前行 阅读(827) 评论(0) 推荐(0) 编辑
摘要:前言 网络I/O,可以理解为网络上的数据流。通常我们会基于socket与远端建立一条TCP或者UDP通道,然后进行读写。单个socket时,使用一个线程即可高效处理;然而如果是10K个socket连接,或者更多,我们如何做到高性能处理? 基本概念介绍 网络I/O的读写过程 linux下的五种网络I/ 阅读全文 »
posted @ 2020-11-08 19:44 潜行前行 阅读(772) 评论(0) 推荐(0) 编辑
摘要:前言 大白话解释,零拷贝就是没有把数据从一个存储区域拷贝到另一个存储区域。但是没有数据的复制,怎么可能实现数据的传输呢?其实我们在java NIO、netty、kafka遇到的零拷贝,并不是不复制数据,而是减少不必要的数据拷贝次数,从而提升代码性能 零拷贝的好处 内核空间和用户空间 缓冲区和虚拟内存 阅读全文 »
posted @ 2020-10-27 10:21 潜行前行 阅读(1091) 评论(0) 推荐(0) 编辑
摘要:全局配置 layui.config({ dir: '/res/layui/' //layui.js 所在路径(注意,如果是script单独引入layui.js,无需设定该参数。),一般情况下可以无视 ,version: false //一般用于更新模块缓存,默认不开启。设为true即让浏览器不缓存。 阅读全文 »
posted @ 2020-10-26 23:43 潜行前行 阅读(2931) 评论(0) 推荐(0) 编辑
摘要:一、 docker简介 环境配置 软件开发最大的麻烦事之一,就是环境配置。用户计算机的环境都不相同,你怎么知道自家的软件,能在那些机器跑起来? 用户必须保证两件事:操作系统的设置,各种库和组件的安装。只有它们都正确,软件才能运行。举例来说,安装一个 Python 应用,计算机必须有 Python 引 阅读全文 »
posted @ 2020-10-15 10:07 潜行前行 阅读(788) 评论(0) 推荐(0) 编辑

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