Janrs.com | 杨建勇

  • 首页
  • 站点地图
  • 所有文章
  • 加入学习群
架构
所有文章

微服务中的分布式事务管理 - 2/2 Saga异步模式

转载请注明来源:https://janrs.com/h42y 这篇文章是上一篇文章的延续。 在这篇文章中,我们将看到Saga模式,它是一种异步模式,在每个微服务中执行一连串的事务,并发布消息或事件以进行下一步。如果中间有任何步骤失败,Saga模式将执行补偿步骤以逆转交易。 我们可以从上图中看到,Saga模式在每个服务中执行一连串的本地事务。每个服务更新它的数据库,然后发布一个消息或事件,这将触发下一个本地事务。 因此,我们必须写出提交事务的逻辑,并且当事务中的任何地方出错时,也要有一个机制来逆转流程。所有的事务和补…

2023年3月17日 0条评论 12点热度 0人点赞 码仔 阅读全文
所有文章

微服务中的分布式事务管理 - 1/2 2/3阶段提交同步模式

转载请注明来源:https://janrs.com/bkt7 在这篇文章中,我们将看到关于跨微服务的分布式事务管理。 什么是事务 一个事务不过是一系列必须成功执行的操作。即使其中一个操作失败了,整个步骤也必须回滚,以使应用程序处于之前的稳定状态。一个事务具有以下ACID属性。 单体架构和微服务中的事务 在传统的单片机应用程序中,将有一个单一的大型应用程序连接到一个大型数据库,这种应用程序坚持ACID属性。 事务边界从服务层内部开始,可以根据该事务中所有步骤的结果进行提交或回滚。在微服务的情况下,每个微服务运行一个特…

2023年3月17日 0条评论 19点热度 1人点赞 码仔 阅读全文
Jaeger

在Kubernetes上使用Jaeger的分布式追踪基础设施

在Kubernetes上使用Jaeger的分布式追踪基础设施 转载请注明来源:https://janrs.com/sptc 作为分布式系统(或任何系统)的一个组成部分,监测基础设施的重要性怎么强调都不过分。监控不仅要跟踪二进制的 "上升 "和 "下降 "模式,还要参与到复杂的系统行为中。监测基础设施的设置可以让人们深入了解性能、系统健康和长期的行为模式。 这篇文章介绍了监控基础设施的一个方面--分布式跟踪。 微服务架构中的可观察性 Kubernetes已经成为微服务基础设施和…

2023年3月2日 2条评论 317点热度 141人点赞 码仔 阅读全文
PHP

PHP高级特性-反射以及工厂设计模式的结合使用

[!TIP] php 高级特性 反射 以及 工厂设计模式 的结合使用 转载请注明出处:https://janrs.com PHP高级特性-反射以及工厂设计模式的结合使用 [结合 Laravel-Admin 代码实例讲解] 转载请注明出处:https://janrs.com 利用反射来实现工厂模式的生产而无需创建特定的工厂类 反射[Relfection] 什么是Reflection Reflection,即反射。反射提供给面向对象编程可以自省的能力。 这么理解有点太过于概念化,通俗地讲,就是能根据事件的结果反查出原因…

2023年2月20日 0条评论 43点热度 28人点赞 码仔 阅读全文
PHP

laravel在领域驱动的实现

[!TIP] Laravel在领域驱动的实现 转载请注明出处:https://janrs.com/sc6z Laravel实现DDD 前言 [!TIP] 优秀的架构要做到的是,跟上级和老板沟通好未来的业务体量,市场情况,公司规模。然后根据现下的公司情况、人员情况、资金情况、项目落地周期等进行综合考虑和权衡。 能够站在业务的角度,加上有技术的拖底,能够从大局的角度,在业务发展的每个阶段适配技术架构,以及尽可能保证后期不需要重构,技术和架构能够随着业务的开展平滑升级,减少技术负债。 架构设计核心目标是支持业务,有些时候…

2023年2月20日 0条评论 63点热度 28人点赞 码仔 阅读全文
所有文章

cpu是如何实现计算的

[!TIP] 一篇简文让你明白CPU到底是什么?为什么能够实现计算? CPU到底是什么东西?它为什么能够执行数学运算? 简单的物理电路 转载请注明出处:https://janrs.com/kaqy 先来看一张初中学过的物理电路图: 从图中我们可以看出这是一个简单的串联和并联还有反相器的电路。[注:反相器没有按照标准来画] 图中的 a 和 b 代表着控制电路的开关,通过控制这两个开关的通电状态来控制灯泡的亮与不亮。 我们用数字 1 和 0 来表示开关的通电和断电的状态表示,1 表示通电状态,0 表示断电状态。同样的,…

2023年2月20日 0条评论 105点热度 28人点赞 码仔 阅读全文
所有文章

详解5种IO模型

[!TIP] 哪5种IO模型?什么是select/poll/epoll?同步异步阻塞非阻塞有啥区别?全在这讲明白了! 转载请注明出处:https://janrs.com/61mw 5种I/O模型 Blocking I/O【阻塞I/O】 NonBlocking I/O【非阻塞I/O】 Multiplexing I/O【I/O多路复用】 Asynchronous IO【异步I/O】 Signal Driven IO【信号驱动I/O】 这些IO模型具体是怎么工作的,往下看。 前提 整个计算机系统涉及到了硬件基础跟操作系统…

2023年2月19日 0条评论 116点热度 30人点赞 码仔 阅读全文
CICD

CICD部署08 - jenkins + gitlab + harbor + k8s

[!TIP] Gitlab flow 常用开发流程实践 转载请注明出处:https://janrs.com Gitlab Flow [!NOTE] 80% 的项目可以用下面的流程规则开发以及交付。 官网介绍文档:(https://docs.gitlab.cn/jh/topics/gitlab_flow.html) 1.分支设置 项目分三个分支:develop 开发分支,test 测试分支,master 分支。测试分支跟发布分支要打 tag 后打包镜像发布,镜像版本跟 tag 版本一致。 代码合并过程:deveplo…

2023年2月19日 0条评论 70点热度 28人点赞 码仔 阅读全文
CICD

CICD部署07 - jenkins + gitlab + harbor + k8s

[!TIP] Jenkins 部署 go 应用到 k8s 转载请注明出处:https://janrs.com Jenkins 部署 go 应用到 k8s 以 go-zero 项目为例构建镜像并推送到 Harbor 镜像仓库中心,并且使用 kubectl 部署到 k8s。 1.设置 Jenkins 参数 Jenkins 使用 Docker 构建镜像需要挂载 Docker 的进程 sock 已经可执行文件。参数如下: 该参数已经在前面部署 Jenkins 的时候设置了 -v /var/run/docker.sock:/…

2023年2月19日 0条评论 49点热度 27人点赞 码仔 阅读全文
CICD

CICD部署06 - jenkins + gitlab + harbor + k8s

[!TIP] 创建 CD 转载请注明出处:https://janrs.com 创建 CD [!NOTE] 创建 CD 采用的是 pipeline SCM 以及 kubectl 的方式。 1.创建 Jenkinsfile [!NOTE] Jenkinsfile 也可以跟项目放在一起,只要指定好文件位置就行了。 这里采用单独的一个项目。 在 gitlab 创建一个用于 pipeline 的 Jenkinsfile,如下图所示 2.链接 gitlab 如法炮制,进入 jenkins 的容器链接 gitlab,省的在 je…

2023年2月19日 0条评论 41点热度 27人点赞 码仔 阅读全文
CICD

CICD部署05 - jenkins + gitlab + harbor + k8s

[!TIP] 创建 CI 转载请注明出处:https://janrs.com 创建 CI 1.建立 gitlab 项目 建立项目属于基操,此处教程省略,自动谷歌。 2.jenkins 连接 gitlab 在部署 Jenkins 的时候已经说明。 3.构建 pipeline 构建 jenkins 的 pipeline 来执行 CICD。 以下为操作步骤 3-1.构建任务 3-1-1.创建任务 3-1-2.选择流水线方式,也就是 pipeline 3-1-3.设置过期时间防止垃圾构建或者历史构建太多 3-1-4.创建 …

2023年2月19日 0条评论 53点热度 27人点赞 码仔 阅读全文
CICD

CICD部署04 - jenkins + gitlab + harbor + k8s

[!TIP] Docker 部署 harbor 转载请注明出处:https://janrs.com docker 部署 harbor 1.下载 docker-composer wget https://github.com/docker/compose/releases/download/v2.10.1/docker-compose-linux-x86_64 2.下载 harbor wget https://github.com/goharbor/harbor/releases/download/v2.6.1/ha…

2023年2月19日 0条评论 81点热度 28人点赞 码仔 阅读全文
CICD

CICD部署03 - jenkins + gitlab + harbor + k8s

[!Tip] Docker 部署 jenkins 并连接 gitlab 转载请注明出处:https://janrs.com docker 部署 jenkins 1.部署 docker run --name jenkins \ -u root \ -d \ -p 8080:8080 \ -p 50000:50000 \ -v /var/jenkins_home:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/bin/…

2023年2月19日 1条评论 95点热度 29人点赞 码仔 阅读全文
CICD

CICD部署02 - jenkins + gitlab + harbor + k8s

[!Tip] Docker 部署 gitlab 转载请注明出处:https://janrs.com gitlab 版本:v15.4.2 docker 部署 gitlab 1.创建目录 mkdir -p /opt/gitlab/{data/,logs,config/} 2.部署服务 docker run -d --restart=always \ --hostname gitlab --name=gitlab \ -p 5443:443 -p 90:80 -p 1122:22 \ -v /etc/localtime:…

2023年2月19日 3条评论 106点热度 29人点赞 码仔 阅读全文
CICD

CICD部署01 - jenkins + gitlab + harbor + k8s

[!TIP] ci/cd 工作流程 转载请注明出处:https://janrs.com ci/cd 工作流程 主要包含两部分:构建应用镜像与部署到 k8s 开发仔将代码 push 到 git。可以是 gitlab 或者 github jenkins pull 代码,编译编码,构建镜像,push 到镜像中心。镜像中心例如: harbor jenkins push 镜像后,给 k8s 发送 deploy 指令。k8s 从镜像中心 pull images 进行 deploy。

2023年2月19日 1条评论 64点热度 28人点赞 码仔 阅读全文
k8s/云原生

Alma8.6 部署ETCD集群教程03 - 部署etcdkeeper可视化工具

[!TIP] etcdkeeper 可视化工具 转载请注明出处:https://janrs.com linux 安装 etcdkeeper 下载 wget https://github.com/evildecay/etcdkeeper/releases/download/v0.7.6/etcdkeeper-v0.7.6-linux_x86_64.zip 解压 unzip etcdkeeper-v0.7.6-linux_x86_64.zip 把 assets 跟 etcdkeeper 都放到 /usr/local/b…

2023年2月19日 0条评论 35点热度 27人点赞 码仔 阅读全文
k8s/云原生

Alma8.6 部署ETCD集群教程02 - 部署etcd集群

[!TIP] Alma 部署 etcd 集群并开启 ssl 认证 转载请注明出处:https://janrs.com Alma版本为8.6 Etcd版本为3.5.5 Alma 部署 etcd 集群 [!NOTE] 采用的是方式是二进制部署方式 工作目录为:/var/lib/etcd/ 数据存放目录为:/data/etcd/ 配置文件位置为:/etc/etcd/etcd.conf 集群部署方式为: static。 其他部署还有 etcd discovery 以及 DNS discovery 1.创建目录 [!NOTE…

2023年2月19日 0条评论 38点热度 27人点赞 码仔 阅读全文
k8s/云原生

Alma8.6 部署ETCD集群教程01 - 创建ssl证书

[!TIP] cfssl 创建 etcd 集群所需 ssl 证书 转载请注明出处:https://janrs.com Alma 版本 8.6 etcd 版本 3.5.5 cfssl 创建 ssl 证书 关于 ssl 证书简介 在部署前,有必要先了解 ssl 的工作机制。 有关 ssl 证书的详解介绍链接:(https://janrs.com/?p=51) [!NOTE] ssl 证书有分三种:server client peer server 端证书用于服务端验证客户端 client 端证书用于客户端验证服务端 p…

2023年2月19日 0条评论 38点热度 26人点赞 码仔 阅读全文
所有文章

企业应用架构 - 实践

[!TIP] 记录的企业应用架构实践的思考 企业架构的实践宗旨 技术推动业务 应该怎么做 技术和市场 实践的宗旨 架构设计核心目标是支持业务,有些时候不合理的存在是合理的。 应用架构存在的首要目标是支持业务,很多成长性企业或初创公司面对生存的压力,不能为了保证架构的合理性而拖延系统实施速度导致企业错过发展时机。这种情况在互联网型企业更为常见。 业务还在试错期,系统需要尽快保证支持业务试错,如果一上来就谈论整体架构的合理性,很可能花费巨大成本实现了合理架构后,新业务已经取消或失败。 技术是推动和适配业务 在创业初期,…

2023年2月19日 0条评论 32点热度 17人点赞 码仔 阅读全文
所有文章

企业应用架构 - 概念

[!TIP] 记录的企业应用架构设计的学习 包括五大内容: 什么是应用企业架构 企业架构的演变 通用型企业应用架构 现有案例分析 企业应用架构的原则 转载请注明来源:https://janrs.com/q3e1 企业应用架构 本文摘自:https://www.woshipm.com/pd/586436.html 1.什么是企业应用架构 1.1 什么是企业应用架构?我们为啥需要? 企业应用架构是指一整套软件系统的构建,通过合理的划分和设计组合在一起,支持企业方方面面的经营运作 不论是传统企业还是互联网,发展到一定的阶…

2023年2月19日 0条评论 95点热度 18人点赞 码仔 阅读全文
12
有关Go/istio/k8s/云原生直接搜
分类
  • CICD
  • Docker
  • Go
  • Istio
  • Jaeger
  • k8s/云原生
  • Kubeadm部署k8s
  • Linux
  • MySQL
  • PHP
  • Rancher
  • 二进制部署k8s
  • 代码手册
  • 所有文章
  • 架构
  • 部署k8s服务
归档
  • 2023年3月 / 12篇
  • 2023年2月 / 68篇
  • 2023年1月 / 3篇

COPYRIGHT © 2023 Janrs.com | 杨建勇. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

闽ICP备20002184号