P8
文章平均质量分 91
P8 架构师课程笔记
寒泉Hq
当你试图解决一个你不理解的问题时,复杂化就产生了
展开
-
Distributed System: Lamport clock vs Vector clock | 分布式系统:Lamport clock 和 Vector clock 详解
Ref: Toutube Distributed Systems lecture series https://www.youtube.com/watch?v=x-D8iFU1d-o&list=PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB&index=12DDIA 作者的 Distributed System 101,涉及基础的 CAP 理论,RPC,拜占庭将军,一致性,CRDT,分布式事务等内容,非常推荐Lamport clock vs Vector clo.原创 2021-10-26 09:37:19 · 43130 阅读 · 0 评论 -
从单机到多机:多机一定比单机快吗?秒杀系统到底有没有必要用分布式锁?
从单机到多机:多机一定比单机快吗?秒杀到底有没有必要用分布式锁?一、单机场景单机能承受的 TPStomcat 500~1000mysql 200~800在单机状态下,tomcat 能接受的请求肯定比 mysql 更多,此时数据库成为系统瓶颈。为了解决这个问题,可以将自增的累加器(例如请求次数、商品剩余等等)等“公共值”缓存起来,放在 JVM 里面,仅让有效请求到达数据库,让 DB 的 TPS 有最大利用价值。Tomcat 是多线程的,会产生并发问题。我们考虑不同商品数量的情况:最小,只有原创 2021-01-02 23:14:38 · 69023 阅读 · 3 评论 -
微服务、容器、DevOps三者之间的演进关系,你清楚吗?
微服务、容器、DevOps三者之间的演进关系容器的普及,带来了微服务架构和DevOps的高速发展。1 微服务的弊端1.1 测试、发布工作量剧增单体应用拆分成多个微服务后,虽能实现快速开发迭代,但带来更大测试和运维部署的成本。很多业务早期就是一个大的单体Web应用,测试和运维时,只需把Web应用打WAR包,部署到Tomcat完事,拆成微服务后,很多业务需求就需同时修改多个服务的代码。测试和运维要把这些服务打包、测试、发布上线,同时还要测试这些服务接口的功能,最后发布上线多个系统,工作量增剧转载 2020-12-02 21:49:41 · 69237 阅读 · 1 评论 -
集群搭建:CentOS 7 模板机封装、配置静态 IP、简单优化
最小化安装关闭内核转储安装常用工具yum install -y wget vim net-tools lrzsz配置静态ipcd /etc/sysconfig/network-scriptsvim ifcfg-ens33将 ifcfg-ens33 文件配置如下TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_A原创 2020-07-06 20:21:34 · 67789 阅读 · 3 评论 -
P8-07-23 在 GitLab 提交代码后自动触发 Jenkins 构建;使用禅道进行项目管理
DevOps 运维开发一体化持续集成 CIGitLab用户分组添加用户用户权限访客开发者 Dev/master主分支测试主管拥有者里程碑:项目管理与质量管理禅道(免费开源版本)Jira(收费,需要PJ)创建项目项目权限持续部署 CDJenkins 能从 Gitlab 仓库下载项目Jenkins 能把下载的项目 Maven 自动编译在编译的基础上,自动化 CI / CD可以使用 GitLab,提交代码之后触发事件事件触发,we原创 2020-07-23 21:32:30 · 68686 阅读 · 0 评论 -
P8实战(四):多种分布式锁实现
分布式锁1、什么是锁?2、锁解决什么问题?3、单机版的锁怎么实现的?synchronizedwaitnotifyReentrantLocklockunlock操作系统层面公平锁:管程非公平锁4、分布式锁怎么实现的?原创 2020-07-18 01:17:48 · 66479 阅读 · 0 评论 -
P8-07-16 使用 Jenkins 自动构建 Maven 项目
创建一个项目从 gitee 上随便拉一个项目,测试项目地址:https://gitee.com/94fzb/zrlog?_from=gitee_search导入成功GitLab用户权限管理Dev开发工程师 初级/中级/高级,要等级森严初级:可以设置没有合并主分支、删除项目的权限部门的负责人运维人员测试人员产品经理项目经理如果你有多个部门协同开发的时候,你要创建多个用户。将创建的用户添加到项目组中,并且指定不同的用户权限。merge request 到master分支用原创 2020-07-17 19:41:07 · 68366 阅读 · 0 评论 -
P8实战(二):分布式锁前置技能 etcd 集群搭建
分布式锁前置技能etcd集群搭建etcd是一种分布式键值存储,旨在可靠、快速地保存和提供对关键数据的访问。它通过分布式锁定、领导人选举和编写障碍实现可靠的分布式协调。etcd集群用于高可用性和永久数据存储和检索。(为后续分布式id的生成做准备)安装过程13.1 Rancher Master节点(Etcd开源数据库)序号主机名称角色数量主机内网IP规划主机外网IP主机配置基础软件系统01etcd-MasterNode01110.0.0.30123.5原创 2020-07-10 19:33:02 · 62934 阅读 · 0 评论 -
P8实战(一):架构概论,从过去到未来
P8架构概论从过去到未来缓冲、缓存、复用、分治、亲密性、技术选型回顾一下软件工程学中的几个重要词汇,整个信息化进程中,做调优离不开这些:buffer 缓冲,包括:消息队列 ;操作系统中的IO方式(积攒一个buffer),解决上下游处理速度不匹配的问题;批量计算;啤酒理论cache 缓存,包括:pagecache页缓存;缓存热点数据提升io速度;CPU的多级缓存;数据库缓存中间件缓冲是解决单次大小问题的,缓存是用来复用的pool 复用,池化,包括:连接池、线程池、对象池、字符串常量池、原创 2020-07-10 16:33:53 · 68888 阅读 · 0 评论 -
P8-DevOps中的CI/CD环境搭建与调优
DevOps中的CI/CD环境搭建与调优DevOps,Docker,云计算等等一、知识点回顾上节课内容:P8架构中项目中所需要的 Canal,主要用于 MySQL 主从架构增量或全量备份,将数据导入ES/Kafka中。二、本节课主要内容Java项目,Spring项目,在开发个偶成中,开发团队需要有不同的角色。maven编译。我们需要项目管理,软件包括:禅道(国内)JIRA(国外)我们需要一个项目管理软件。对于中小型公司,完全可以用gitlab,可以做代码托管,还提供了 CI (持续原创 2020-07-09 22:53:45 · 68791 阅读 · 0 评论