Golang 协程/线程/进程 区别以及 GMP 详解
Golang 协程/线程/进程 区别详解 转载请注明来源:https://janrs.com/mffp 概念 进程 每个进程都有自己的独立内存空间,拥有自己独立的地址空间、独立的堆和栈,既不共享堆,亦不共享栈。一个程序至少有一个进程,一个进程至少有一个线程。进程切换只发生在内核态。…
75 2023-05-25 1 点击阅读go协程编排工具 - oklog/run 使用
go协程编排工具 - oklog/run 使用 简介 oklog/run 包非常简单,只有一个类型,两个方法,共 60 行代码。其中 Group 是一组 actor,通过调用 Add 方法将 actor 添加到 Group 中。 type Group func (g *Group) Add(execute func() error, interrupt func(error)) func (…
22 2023-05-23 0 点击阅读RKE2 配置私有镜像仓库免 TLS 验证
RKE2 配置私有镜像仓库免 TLS 验证 打开文件 vim /etc/rancher/rke2/registries.yaml 添加以下配置: mirrors: registry.example.com: endpoint: - "registry.example.com:1134" configs: "registry.example.com:1134": tls: …
55 2023-04-29 0 点击阅读如何用Golang处理每分钟100万个请求
用Golang处理每分钟100万个请求 转载请注明来源:https://janrs.com/9yaq 面临的问题 在我设计一个分析系统中,我们公司的目标是能够处理来自数百万个端点的大量POST请求。web 网络处理程序将收到一个JSON文档,其中可能包含许多有效载荷的集合,需要写入Amazon S3…
350 2023-04-10 1 点击阅读Grpc工具buf.build使用
Grpc工具 buf.build 使用 转载请注明来源:https://janrs.com/iclb 目录结构 文件以及目录的总体结构如下: userservice ├── Makefile ├── buf.gen.yaml ├── buf.work.yaml ├── cmd │ ├── main.go │ └── server │ ├── grpc.go │ ├── http.go │ …
202 2023-04-07 0 点击阅读基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 3/3
点击[加入交流群] | 我的GitHub 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 1/3 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 2/3 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 3/3 项目地址:https://github.com/janrs-io/Jgr…
389 2023-03-30 3 点击阅读基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 2/3
点击[加入交流群] | 我的GitHub 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 1/3 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 2/3 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 3/3 项目地址:https://github.com/janrs-io/Jgr…
293 2023-03-29 0 点击阅读基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 1/3
点击[加入交流群] | 我的GitHub 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 1/3 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 2/3 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 3/3 项目地址:https://github.com/janrs-io/Jgr…
569 2023-03-28 4 点击阅读本地开发Kubernetes微服务远程调试工具 - kubefwd
点击[加入交流群] | 我的GitHub 转载请注明来来源:https://janrs.com/87qz 项目地址:https://github.com/txn2/kubefwd kubefwd帮助实现了在本地工作站上开发应用程序和服务的无缝和高效方式。在本地开发打算与Kubernetes集群中的其他服务进行交互的应用程序。 kub…
425 2023-03-25 0 点击阅读微服务中的分布式事务管理 - 2/2 Saga异步模式
点击[加入交流群] | 我的GitHub 转载请注明来源:https://janrs.com/h42y 这篇文章是上一篇文章的延续。 在这篇文章中,我们将看到Saga模式,它是一种异步模式,在每个微服务中执行一连串的事务,并发布消息或事件以进行下一步。如果中间有任何步骤失败,Saga模式将…
320 2023-03-17 0 点击阅读微服务中的分布式事务管理 - 1/2 2/3阶段提交同步模式
点击[加入交流群] | 我的GitHub 转载请注明来源:https://janrs.com/bkt7 在这篇文章中,我们将看到关于跨微服务的分布式事务管理。 什么是事务 一个事务不过是一系列必须成功执行的操作。即使其中一个操作失败了,整个步骤也必须回滚,以使应用程序处于之前的稳定…
339 2023-03-17 0 点击阅读Golang Grpc 高级使用 - Deadlines, Cancellation, Error Handling, Multiplexing
点击[加入交流群] | 我的GitHub Golang Grpc 高级使用 转载请注明来源:https://janrs.com/xag1 Deadlines 超时是分布式系统中常用的一种模式。尽管截止日期与超时相似,但对于gRPC来说,有一个关键的区别。超时是一个选项,让客户决定他们愿意等待服务器响应的时间…
270 2023-03-17 0 点击阅读在Kubernetes上使用Jaeger的分布式追踪基础设施
点击[加入交流群] | 我的GitHub 在Kubernetes上使用Jaeger的分布式追踪基础设施 转载请注明来源:https://janrs.com/sptc 作为分布式系统(或任何系统)的一个组成部分,监测基础设施的重要性怎么强调都不过分。监控不仅要跟踪二进制的 "上升 "和 "…
711 2023-03-02 2 点击阅读用GoRoutines高性能同时进行多个Api调用
点击[加入交流群] | 我的GitHub 用GoRoutines高性能同时进行多个Api调用 转载请注明来源:https://janrs.com/ppzi Golang是高效的,非常高效。这种效率在很大程度上要归功于它在处理并发性问题时的独特抽象。例如,Java将其线程映射为操作系统线程,而Go使用自己的go…
387 2023-03-02 0 点击阅读Go创建Grpc链接池
点击[加入交流群] | 我的GitHub Go创建Grpc链接池 转载请注明来源:https://janrs.com/x0gn 常规用法 gRPC 四种基本使用 请求响应模式 客户端数据流模式 服务端数据流模式 双向流模式 常见的gRPC调用写法 func main(){ //... some code // 链接grpc服务 …
486 2023-03-02 0 点击阅读Docker 部署 ELK 并设置安全访问
Docker 部署 ELK 并设置安全访问 转载请注明来源:https://janrs.com/c9rq 下载 docker pull logstash:8.7.0 && \ docker pull kibana:8.7.0 && \ docker pull elasticsearch:8.7.0 获取配置以及证书 修改系统参数 打开系统参数配置文件 vi /et…
335 2023-03-01 0 点击阅读Centos7安装Docker
[!Tip] CentOS7安装Docker 转载请注明出处:https://janrs.com Centos7 安装 Docker 1.安装工具 yum install -y yum-utils device-mapper-persistent-data lvm2 2.设置阿里镜像 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/do…
288 2023-02-20 0 点击阅读cpu是如何实现计算的
点击[加入交流群] [!TIP] 一篇简文让你明白CPU到底是什么?为什么能够实现计算? CPU到底是什么东西?它为什么能够执行数学运算? 简单的物理电路 转载请注明出处:https://janrs.com/kaqy 先来看一张初中学过的物理电路图: 从图中我们可以看出这是一个简单的串联…
494 2023-02-20 0 点击阅读部署高可用主从读写分离Mysql集群01
[!Tip] 部署 mysql 并且设置主从 转载请注明出处:https://janrs.com/pnfq 部署 mysql 主从做读写分离 1.部署 mysql5.7 1.1 安装依赖 apt install lsb-release gnupg wget -y 1.2 安装源 下载脚本直接运行并打开,打开后选择第一个选项按回车,选择 5.7 版本 cd /ho…
1,024 2023-01-20 1 点击阅读