- 🐶 互联资深技术专家,TVP腾讯云最具价值专家、数据库技术专家,分布式与微服务架构专家,全网45万+粉互联网技术博主。
- 🚌 作品:
BingheGuide | 冰河指南
|《深入理解高并发编程:核心原理与案例实战》
|《深入理解高并发编程:JDK核心技术》
|数据同步
|Spring核心技术
|分布式限流
|分布式锁
|分布式缓存
|异步并行框架
|分布式事务
|简易版IM
|微信SDK
|延迟队列
|分布式ID
| 更多搜索... - 🌱 干货:公众号『 冰河技术 』
- 📝 博客:binghe.gitcode.host - 硬核文章,应有尽有!
- 📺 视频:B站 冰河技术
- 💌 微信:hacker_binghe - 备注来意
- 🐾 我的知识星球:手写企业级中间件项目、大厂高并发秒杀系统、并发编程、性能调优、框架源码、分布式、微服务、1对1解答、答辩晋升技巧、定期直播
- 2020年出版《海量数据处理与大数据技术实战》 —— 涵盖企业级大数据处理方方面面的知识,并从零搭建并开发离线批处理系统和在线实时计算系统。
- 2020年出版《MySQL技术大全:开发、优化与运维实战》 —— 程序员与运维工程师必备的700多页的MySQL工具书,涵盖MySQL基础、开发、优化、运维和架构方方面面的知识。
- 2021年出版《深入理解分布式事务:原理与实战》 —— 全网首部系统、深入讲解分布式事务的书籍,涵盖:分布式事务基础、解决方案、原理、源码与实战等篇章,真正从企业实际需求出发,系统、深入的讲解分布式事务,来自京东、阿里、腾讯、蚂蚁金服、滴滴、饿了么、58集团、IBM等互联网大厂及Apache软件基金会的近20位专家高口碑力荐。
- 2022年出版《深入理解高并发编程:核心原理与案例实战》 —— 全面、系统、深入的讲解高并发技术,涵盖:并发基础、原理、实战与架构的方方面面知识。来自阿里巴巴、蚂蚁金服、京东、高德、CSDN、饿了么、58集团等互联网大厂以及多家互联网独角兽企业的近20位专家高口碑力荐。
- 2022年出版《深入高平行開發:深度原理&專案實戰》 —— 《深入理解高并发编程:核心原理与案例实战》的繁体版书籍。
- 2023年出版《深入理解高并发编程:JDK核心技术》——全面、系统、深入的讲解JDK高并发编程技术,涵盖:JDK并发基础、核心工具和线程池核心技术等篇章,深度剖析了JDK中各种并发类库和线程池的核心源码,并提供手写线程池案例。来自阿里巴巴、腾讯、蚂蚁金服、京东、高德、CSDN、饿了么、58集团等互联网大厂以及多家互联网独角兽企业的近20位专家高口碑力荐。
- 《深入理解高并发编程(第2版)》 —— 全书共计 八 大篇章,433页,耗时 4 个月完成,全网最全的高并发编程知识手册,涵盖:学习路线、源码分析、JDK核心类库、基础案例、实战案例、性能优化、面试、和系统架构等篇章,发布当月下载量即突破5万,全网累计下载30万+。
- 《深入理解高并发编程(第1版)》 —— 全书共计 五 大篇章节,392页,耗时6个月完成。涵盖源码分析、基础案例、实战案例、面试和系统架构等篇章,全网累计下载65万+。
- 《SpringCloud Alibaba实战》—— 全书共计 十 大篇章,26个章节,332页,涵盖:专栏设计、微服务介绍、微服务环境搭建、服务治理、服务容错、服务网关、链路追踪、消息服务、服务配置和分布式事务等篇章,全网累计下载10万+。
- 《冰河的渗透实战笔记》—— 冰河整理的全网首个开源的以实战案例为背景的渗透实战笔记,全书共442页,共计37万字(不计空格)。整本书的内容涵盖:Kali基础、渗透工具、木马制作、钓鱼链接生成、爆破密码、内存溢出攻击、web渗透、数据提权、社会工程学,全网累计下载20万+。
- 《从零开始写RPC框架(基础版)》 —— 在RPC框架中会实现同步调用、异步调用、回调调用、单向调用和泛化调用。框架中会使用大量的SPI技术来实现扩展性,其中,整个框架会采用微内核、插件化的开发模式,最终真正做一款可在实际场景使用的RPC框架。
- 《MySQL核心技术》 —— 全书共19章、16万字,涵盖了MySQL核心基础知识的方方面面内容,非常适合MySQL数据库初学者入门,也适合MySQL技术高手系统化的梳理MySQL基础知识,及时查漏补缺,全网累计下载5万+。
- 《Spring IOC核心技术》 —— 全书共27章,19万字,涵盖Spring IOC最核心的技术,全网累计下载8万+。
添加微信:hacker_binghe - 备注来意
📚 本仓库是冰河技术知识星球《Seckill秒杀系统》专栏源码
- 《Seckill秒杀系统》开篇:我要手把手教你搭建并研发一套抗瞬时百万流量的秒杀系统
- 《Seckill秒杀系统》第1章:从多个角度聊聊为何要学习秒杀系统
- 《Seckill秒杀系统》第2章:秒杀系统的目标与挑战
- 《Seckill秒杀系统》第3章:秒杀系统高并发大流量的应对之道
- 《Seckill秒杀系统》第4章:秒杀系统需求与流程梳理
- 《Seckill秒杀系统》第5章:秒杀系统技术流程梳理
- 《Seckill秒杀系统》第6章:秒杀系统总体方案目标与架构设计
- 《Seckill秒杀系统》第7章:秒杀系统基础环境搭建
- 《Seckill秒杀系统》第8章:秒杀系统研发环境搭建
- 《Seckill秒杀系统》第9章:秒杀系统数据模型设计
- 《Seckill秒杀系统》第10章:基于DDD快速搭建秒杀系统项目并测试
- 《Seckill秒杀系统》第11章:用户登录授权认证流程的设计与实现
- 《Seckill秒杀系统》第12章:访问登录授权限制接口的流程设计与实现
- 《Seckill秒杀系统》第13章:秒杀活动业务流程与接口设计
- 《Seckill秒杀系统》第14章:秒杀活动后端业务与接口开发
- 《Seckill秒杀系统》第15章:秒杀活动运营端业务开发
- 《Seckill秒杀系统》第16章:秒杀活动用户端业务开发
- 《Seckill秒杀系统》第17章:秒杀商品业务流程与接口设计
- 《Seckill秒杀系统》第18章:秒杀商品后端业务与接口开发
- 《Seckill秒杀系统》第19章:秒杀商品运营端业务开发
- 《Seckill秒杀系统》第20章:秒杀商品用户端业务开发
- 《Seckill秒杀系统》第21章:秒杀订单业务流程与接口设计
- 《Seckill秒杀系统》第22章:秒杀订单后端业务与接口开发
- 《Seckill秒杀系统》第23章:秒杀订单用户端业务开发
- 《Seckill秒杀系统》第24章:秒杀订单运营端业务开发
- 《Seckill秒杀系统》第25章:重现刷单流量问题
- 《Seckill秒杀系统》第26章:重现库存超卖问题
- 《Seckill秒杀系统》第27章:混合型缓存设计场景与原则
- 《Seckill秒杀系统》第28章:混合型缓存架构设计与技术选型
- 《Seckill秒杀系统》第29章:混合型缓存通用代码设计与实现
- 《Seckill秒杀系统》第30章:分布式锁通用代码设计与实现
- 《Seckill秒杀系统》第31章:混合型缓存通用模型设计与实现
- 《Seckill秒杀系统》第32章:活动列表混合型缓存设计与实现
- 《Seckill秒杀系统》第33章:活动详情混合型缓存设计与实现
- 《Seckill秒杀系统》第34章:商品列表混合型缓存设计与实现
- 《Seckill秒杀系统》第35章:商品详情混合型缓存设计与实现
- 《Seckill秒杀系统》第36章:领域事件通用缓存模型设计
- 《Seckill秒杀系统》第37章:秒杀活动监听缓存领域事件的设计与实现
- 《Seckill秒杀系统》第38章:秒杀活动发送缓存领域事件的设计与实现
- 《Seckill秒杀系统》第39章:秒杀商品监听缓存领域事件的设计与实现
- 《Seckill秒杀系统》第40章:秒杀商品发送缓存领域事件的设计与实现
- 《Seckill秒杀系统》第41章:秒杀订单监听领域事件的设计与实现
- 《Seckill秒杀系统》第42章:秒杀订单发送领域事件的设计与实现
- 《Seckill秒杀系统》第43章:秒杀扣减库存设计
- 《Seckill秒杀系统》第44章:基于数据库设计并实现库存防超卖
- 《Seckill秒杀系统》第45章:基于分布式锁设计并实现库存防超卖
- 《Seckill秒杀系统》第46章:基于Lua脚本设计并实现库存防超卖
- 《Seckill秒杀系统》第47章:从单体到微服务重构项目
- 《Seckill秒杀系统》第48章:重现分布式事务问题
- 《Seckill秒杀系统》第49章:基于TCC模型解决分布式事务问题
- 《Seckill秒杀系统》第50章:基于AT模型解决分布式事务问题
- 《Seckill秒杀系统》第51章:基于可靠消息最终一致性模型解决分布式事务问题
- 《Seckill秒杀系统》第52章:零侵入重构秒杀活动异步事件后置处理器
- 《Seckill秒杀系统》第53章:零侵入重构秒杀商品异步事件后置处理器
- 《Seckill秒杀系统》第54章:零侵入重构秒杀订单异步事件后置处理器
- 《Seckill秒杀系统》第55章:异步化下单流程设计
- 《Seckill秒杀系统》第56章:异步化下单编码实现
- 《Seckill秒杀系统》第57章:异步化扣减商品库存流程设计
- 《Seckill秒杀系统》第58章:异步化扣减商品库存编码实现
- 《Seckill秒杀系统》第59章:商品库存分库分表与分桶设计
- 《Seckill秒杀系统》第60章:商品库存分库分表与分桶编码实现
- 《Seckill秒杀系统》第61章:下单流程整合商品库存分桶
- 《Seckill秒杀系统》第62章:订单分库分表设计
- 《Seckill秒杀系统》第63章:订单分库分表编码实现
- 《Seckill秒杀系统》第64章:下单流程整合订单分库分表
- 《Seckill秒杀系统》第65章:秒杀系统流量隔离策略与实现
- 《Seckill秒杀系统》第66章:秒杀系统规模限制策略
- 《Seckill秒杀系统》第67章:预约系统需求梳理与架构设计
- 《Seckill秒杀系统》第68章:预约系统数据模型设计
- 《Seckill秒杀系统》第69章:预约系统业务流程与接口设计
- 《Seckill秒杀系统》第70章:预约系统运营端业务与接口开发
- 《Seckill秒杀系统》第71章:预约系统用户端业务与接口开发
- 《Seckill秒杀系统》第72章:下单流程整合预约系统
- 《Seckill秒杀系统》第73章:预约系统分库分表设计
- 《Seckill秒杀系统》第74章:预约系统分库分表编码实现
- 《Seckill秒杀系统》第75章:预约系统整合分库分表
- 《Seckill秒杀系统》第76章:秒杀系统限流总体概述
- 《Seckill秒杀系统》第77章:打散客户端流量
- 《Seckill秒杀系统》第78章:消息队列削峰
- 《Seckill秒杀系统》第79章:限流削峰
- 《Seckill秒杀系统》第80章:Sentinel概述与本地搭建环境
- 《Seckill秒杀系统》第81章:秒杀系统整合Sentinel实现流控
- 《Seckill秒杀系统》第82章:Sentinel核心技术与配置规则(加餐)
- 《Seckill秒杀系统》第83章:基于QPS实现本地API限流
- 《Seckill秒杀系统》第84章:基于线程池实现单机并发数限流
- 《Seckill秒杀系统》第85章:业务网关概述与核心架构
- 《Seckill秒杀系统》第86章:秒杀系统整合业务网关
- 《Seckill秒杀系统》第87章:业务网关整合Nacos配置
- 《Seckill秒杀系统》第88章:业务网关整合Sentinel流控
- 《Seckill秒杀系统》第89章:业务网关整合Guava流控
- 《Seckill秒杀系统》第90章:业务网关使用自带流控
- 《Seckill秒杀系统》第91章:流量网关初步搭建
- 《Seckill秒杀系统》第92章:流量网关项目搭建
- 《Seckill秒杀系统》第93章:流量网关实现限流
- 《Seckill秒杀系统》第94章:服务雪崩与容错方案
- 《Seckill秒杀系统》第95章:服务降级核心原理与落地方案
- 《Seckill秒杀系统》第96章:热点数据问题与解决方案
- 《Seckill秒杀系统》第97章:秒杀系统实现服务容错
- 《Seckill秒杀系统》第98章:凌乱的服务配置与解决方案
- 《Seckill秒杀系统》第99章:秒杀系统整合Nacos配置中心
- 《Seckill秒杀系统》第100章:实现配置动态刷新
- 《Seckill秒杀系统》第101章:实现配置动态共享
- 《Seckill秒杀系统》第102章:链路追踪核心原理与解决方案
- 《Seckill秒杀系统》第103章:整合Sleuth实现链路追踪
- 《Seckill秒杀系统》第104章:扩展Dubbo源码实现链路追踪
- 《Seckill秒杀系统》第105章:Sleuth整合ZipKin实现可视化
- 《Seckill秒杀系统》第106章:日志治理概述、原则与架构
- 《Seckill秒杀系统》第107章:快速搭建ELK环境并导入配置
- 《Seckill秒杀系统》第108章:秒杀系统整合日志治理
- 《Seckill秒杀系统》第109章:实现基于条件限流防刷
- 《Seckill秒杀系统》第110章:实现基于Token编排机制防刷
- 《Seckill秒杀系统》第111章:实现基于黑名单机制防刷
- 《Seckill秒杀系统》第112章:黑灰产与风控基础知识介绍
- 《Seckill秒杀系统》第113章:风控模型架构与落地方案
- 《Seckill秒杀系统》第114章:秒杀系统风控模型设计
- 《Seckill秒杀系统》第115章:秒杀系统风控模型实现
- 《Seckill秒杀系统》第116章:容器化集群部署架构设计
- 《Seckill秒杀系统》第117章:容器化集群部署落地实现
- 《Seckill秒杀系统》第118章:容灾架构设计与落地方案
- 《Seckill秒杀系统》第119章:全链路压测场景与核心流程
- 《Seckill秒杀系统》第120章:全链路压测核心原则与策略
- 《Seckill秒杀系统》第121章:全链路压测落地方案实施
- 《Seckill秒杀系统》第122章:服务器物理机极致优化
- 《Seckill秒杀系统》第123章:单机服务极致优化
- 《Seckill秒杀系统》第124章:秒杀系统流程极致优化
- 《Seckill秒杀系统》结尾:秒杀系统整体专栏总结
- 开发框架:SpringBoot、SpringCloud、SpringCloud Alibaba、Dubbo。
- 缓存:Redis分布式缓存+Guava本地缓存。
- 数据库:MySQL。
- 流量网关:OpenResty+Lua。
- 业务网关:SpringCloud Gateway。
- 持久层框架:MyBatis。
- 服务配置与注册发现:Nacos。
- 单机异步:Cola。
- 分布式事务:Hmily、Seata、RocketMQ。
- 分库分表:ShardingSphere。
- 日志治理:ELK(Elasticsearch、Logstash、Kibana)。
- 链路追踪:Sleuth、Zipkin、Prometheus。
- 容器:Docker。
- 容器化管理:Swarm、Portainer。
- 监控:Prometheus、Grafana。
- 系统限流:OpenResty+Lua、Sentinel。
- 消息中间件:RocketMQ。
- 单元测试:Junit。
- 压测工具:JMeter。
之前安装的操作系统为CentOS7版本,所以,这里以CentOS7为例安装Docker环境,具体安装步骤如下所示。
由于Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10,所以这里先查看下安装的CentOS7操作系统的内核版本。在,命令行输入如下命令。
uname -srm
输出的结果信息如下所示。
Linux 3.10.0-1160.el7.x86_64 x86_64
可以看到,内核版本是3.10,符合要求。
如果之前安装过旧版本的Docker,则可以执行如下命令卸载。
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine docker-ce
安装gcc环境主要是为了更加顺利的安装Docker环境,在命令行分别执行如下两条命令来安装gcc环境。
yum -y install gcc
yum -y install gcc-c++
在命令行执行如下命令安装yum工具。
yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken
这里,我将Docker的镜像仓库设置为阿里镜像源,执行如下命令即可。
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
执行如下命令将docker-ce.repo镜像仓库配置文件中的镜像源修改成阿里镜像源。
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
更新yum包软件索引后,执行yum命令安装软件会快一些,在命令行执行如下命令更新yum包软件索引。
yum makecache fast
在命令行执行如下命令安装Docker。
yum -y install docker-ce docker-ce-cli containerd.io
在命令行执行如下命令启动Docker。
systemctl start docker
在命令行执行如下命令设置Docker开机自启动。
systemctl enable docker
在命令行输入如下命令查看Docker版本。
docker version
输出的结果信息如下所示。
Client: Docker Engine - Community
Version: 23.0.6
API version: 1.42
Go version: go1.19.9
Git commit: ef23cbc
Built: Fri May 5 21:21:29 2023
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 23.0.6
API version: 1.42 (minimum version 1.12)
Go version: go1.19.9
Git commit: 9dbdbd4
Built: Fri May 5 21:20:38 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.21
GitCommit: 3dce8eb055cbb6872793272b4f20ed16117344f8
runc:
Version: 1.1.7
GitCommit: v1.1.7-0-g860f061
docker-init:
Version: 0.19.0
GitCommit: de40ad0
docker官方镜像仓库网速较差,我们需要设置国内镜像服务,将来下载镜像我们都会到镜像地址里面下载,这里小编配置的是阿里云镜像。 参考阿里云的镜像加速文档 点击跳转
复制以下全部命令直接执行即可。
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://zz3sblpi.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
这里,给大家列举一些常用的Docker命令,如下所示。
systemctl daemon-reload //重载系统服务
systemctl list-unit-files --type service //查看全部服务命令
systemctl status docker // 查看docker服务状态
systemctl enable docker //设置docker开机自启动
systemctl disable docker // 关闭docker开机启动
systemctl start docker // 启动docker服务
systemctl stop docker // 停止docker服务
systemctl restart docker // 重启docker服务
安装docker-compose环境相对就比较简单了,在命令行执行如下命令下载并安装docker-compose。
curl -SL https://github.com/docker/compose/releases/download/v2.17.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
下载并安装成功后,使用如下命令创建docker-compose软链接。
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
随后查看docker-compose版本,如下所示。
[root@binghe]# docker-compose version
Docker Compose version v2.17.3
可以看到,安装的docker-compose版本为2.17.3,说明docker-compose安装成功。
本群的宗旨是给大家提供一个良好的技术学习交流平台,所以杜绝一切广告!由于微信群人满 100 之后无法加入,请扫描下方二维码先添加作者 “冰河” 微信(hacker_binghe),备注:学习加群
。
分享各种编程语言、开发技术、分布式与微服务架构、分布式数据库、分布式事务、云原生、大数据与云计算技术和渗透技术。另外,还会分享各种面试题和面试技巧。内容在 冰河技术 微信公众号首发,强烈建议大家关注。
定期分享各种编程语言、开发技术、分布式与微服务架构、分布式数据库、分布式事务、云原生、大数据与云计算技术和渗透技术。另外,还会分享各种面试题和面试技巧。
加入星球 冰河技术,可以获得本站点所有学习内容的指导与帮助。如果你遇到不能独立解决的问题,也可以添加冰河的微信:hacker_binghe, 我们一起沟通交流。另外,在星球中不只能学到实用的硬核技术,还能学习实战项目!
关注 冰河技术公众号,回复 星球
可以获取入场优惠券。