《使用Gin框架构建分布式应用》阅读笔记:p234-p250

news/2025/1/22 18:05:07/文章来源:https://www.cnblogs.com/codists/p/18512028

《用Gin框架构建分布式应用》学习第13天,p234-p250总结,总17页。

一、技术总结

1.message broker

(1)RabbitMQ

书里使用的是RabbitMQ(https://www.rabbitmq.com/),这里补充一点说明:

docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:4.0.2

a、访问管理页面

从3.8版本开始,管理插件(rabbitmq_management)默认不器用。需要先启用才能使用访问管理页面。启用方式:

docker exec -it rabbitmq bashrabbitmq-plugins enable rabbitmq_management

b、默认帐号、密码

如果启动容器的时候未设置密码,账号、密码默认是guest、guest。

c、各端口作用

client端通连接端口:5672

页面管理访问端口: 15672

服务间通信端口:25672

d.管理页面Overview > Totals 缺少图

docker exec -it rabbitmq bashcd /etc/rabbitmq/conf.d/echo management_agent.disable_metrics_collector = false > 20-management_agent.disable_metrics_collector.confexitdocker restart rabbitmq

(2)amqp

书里使用的go版本的rabbitmq是amqp,这个包已经不再维护了,改为使用amqp091-go。

2.8080:15672

docker run -d --name rabbitmq -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password -p 8080:15672 -p 5672:5672 rabbitmq:3-management

这里不知道作者为什么将8080端口映射到15672,然后Gin却使用了5000端口。按理说Gin默认的端口是8080, 这里应该用15672映射15672。

二、英语总结

1.loosly coupled services

p234, That's why we will separate the service logic into multiple loosely coupled services, and then scale them based on the incoming workload.

2.artifact

p248, It allows you to use multiple FROM statements in your Dockerfile and copy artifacts from one stage to another, leaving behind everything you don't need in the final image.

(1)artifact: arte("by skill") + factum("thing made"). c. an object, such as a tool that was made in the past.

三、其它

1.exits 和 exist混淆

当看到"--r : Automatically remove the container and its associated anonymous volumes when it exits"时,我一直以为"exist(存在)",然后执行命令“docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:4.0.2”时一直报错,不是说docker run 的时候如果存在了同名容器就删除吗?让我很是郁闷。后面仔细一看,是“exits(退出)”,意思是当容器退出后,自动删除容器及其挂载的卷。同时又犯了另一个错误,没有注意到这不是后台模式“detected mode”运行。

仔细想一想,之所以犯这样的错误:

(1)太着急了。

想着要按时阅读完,就一直往前赶,就容易疏忽。后面让ChatGPT解释的时候也还是不理解,直到ChatGPT举例的时候提到“Because of the --rm option, once the container stops, it will be automatically removed”,——看到top瞬间恍然大悟,再去看原来那句话,是“exits(退出)”!是“exits(退出)”!是“exits(退出)”!

(2)对docker的运行不了解。

自己想要的是detected模式,竟然忽略了命令行缺少- d参数。当然,这也时刻提示自己,不要忘记自己的目标是什么。

也可能是昨晚熬夜累了,Oh, my time! so sad~

四、参考资料

1. 编程

(1) Mohamed Labouardy,《Building Distributed Applications in Gin》:https://book.douban.com/subject/35610349

2. 英语

(1) Etymology Dictionary:https://www.etymonline.com

(2) Cambridge Dictionary:https://dictionary.cambridge.org

欢迎搜索及关注:编程人(a_codists)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/823514.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Avalonia 已知问题 第二次 Composition Animation 无法播放

在 Avalonia 里面,如果多次加入 Composition 的 Animation 动画,将会看到第二次加入是停止播放动画的这是 Avalonia 的已知问题,我已经报告给官方,详细请看 https://github.com/AvaloniaUI/Avalonia/pull/17370 我尝试修复了此问题,请看 https://github.com/AvaloniaUI/Av…

读数据工程之道:设计和构建健壮的数据系统23批量获取的考虑因素

批量获取的考虑因素1. 批量获取的考虑因素 1.1. 批量获取,通常是获取数据的一种便捷方式1.1.1. 通过从源系统中抽取一个数据子集,根据时间间隔或累积数据的大小来获取数据1.2. 基于时间间隔的批量获取在传统ETL的数据仓库中很普遍1.2.1. 每天在非工作时间(也可以按其他频率)…

分段任意模型满足零样本6D对象姿态估计

6.11 SAM-6D:分段任意模型满足零样本6D对象姿态估计6.11.1 SAM-6D:分段任意模型满足零样本6D对象姿态估计概述零样本6D物体姿态估计涉及在杂乱场景中检测具有6D姿态的新物体,这对模型的可推广性提出了重大挑战。幸运的是,最近的Segment Anything Model(SAM)展示了非凡的零…

Educational Codeforces Round 171 div2(A~E)

Educational Codeforces Round 171 div2(A~E) Dashboard - Educational Codeforces Round 171 (Rated for Div. 2) - Codeforces 火车头 #define _CRT_SECURE_NO_WARNINGS 1#include <algorithm> #include <array> #include <bitset> #include <cassert&g…

基于STM32cubeMX 的 RT-Thread 的默认串口输出修改及内容修改

最近在学习RT-Thread, 随便做点小笔记, 方便焦虑小白找路 本随笔主要写两个问题, 1.默认UART2修改成其他UART; 2. 开机输出的内容修改 在RT-Thread 中 默认的系统输出串口是UART2; 如果想修改成其他串口(以UART1为例子), 分两步走, 1.1. 初始化 对应的串口 (也就是UART1) 1.2…

qt的无边框窗口支持拖拽、Aero Snap、窗口阴影等特性

qt的无边框窗口支持拖拽、Aero Snap、窗口阴影等特性环境:Desktop Qt 5.4.1 MSVC2013 32bit 需要的库:dwmapi.lib、user32.lib 需要头文件:<dwmapi.h>、<windowsx.h>只显示重要代码1、去除原边框、加上阴影、Aero Snap以及其他动画特效 (1)头文件 #include &q…

Spring 框架:Java 开发者的春天

Spring 框架是一个功能强大的开源框架,主要用于简化 Java 企业级应用的开发,由被称为“Spring 之父”的 Rod Johnson 于 2002 年提出并创立,并由Pivotal团队维护。一、关于Spring 1.1 简介 Spring 框架是一个功能强大的开源框架,主要用于简化 Java 企业级应用的开发,由被称…

Mooc下载器:中国大学mooc慕课视频课件课程下载工具,如何在电脑端下载中国大学mooc慕课视频课程课件资料到本地?

一. 安装中国大学mooc慕课课程下载器 1.获取学无止下载器 https://www.xuewuzhi.cn/icourse163_downloader 2.下载安装后,然后点击桌面快捷方式运行即可。 注意:杀毒软件可能会阻止外部exe文件运行,并将其当做成病毒,直接添加信任即可,本软件绝对没有木马病毒。 二. 使用…

千聊兴趣岛视频课件课程下载工具,如何在电脑端下载千聊兴趣岛视频课程课件到本地?

一. 安装千聊/兴趣岛课程下载器 1.获取学无止下载器 https://www.xuewuzhi.cn/qlchat_downloader 2.下载安装后,然后点击桌面快捷方式运行即可。 注意:杀毒软件可能会阻止外部exe文件运行,并将其当做成病毒,直接添加信任即可,本软件绝对没有木马病毒。 二. 使用说明 1.学无…

T241029

有限可加性和次可列可加性结合等价于可列可加性

一文搞懂会计科目设计原理及运维要点

在企业的财务管理中,会计科目的设计和维护是核心环节,它不仅关系到财务数据的准确性,还直接影响到企业的决策和合规性。这篇文章,我们一起来学习一下相关知识。会计科目是业务事项按会计准则要求的一种归纳或分类,是在会计要素基础上的一种细分,包括科目编码和科目名称;…

Ubuntu系统配置Zabbix前端

1.zabbix 登录1.访问zabbix的前端地址(10.0.0.6/zabbix/setup.php)进入欢迎界面点击下一步即可2.如下图所示,下拉进度条进行条件检查,如果所有的参数都是"OK",则可以进入下一步3.配置zabbix前端的数据库信息根据数据库信息填写即可4 .配置zabbix server信息5.将之前…