写点什么

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

作者:codists
  • 2024-10-29
    广东
  • 本文字数:1462 字

    阅读完需:约 5 分钟

《用 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 bash
rabbitmq-plugins enable rabbitmq_management
复制代码


b、默认帐号、密码


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


c、各端口作用


client 端通连接端口:5672


页面管理访问端口: 15672


服务间通信端口:25672


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


docker exec -it rabbitmq bash
cd /etc/rabbitmq/conf.d/
echo management_agent.disable_metrics_collector = false > 20-management_agent.disable_metrics_collector.conf
exit
docker 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)

发布于: 刚刚阅读数: 3
用户头像

codists

关注

公众号:编程人 2021-01-14 加入

Life is short, You need Python

评论

发布
暂无评论
《使用Gin框架构建分布式应用》阅读笔记:p234-p250_golang_codists_InfoQ写作社区