当前位置:网站首页>2022在 Go (Golang) 中使用微服务的系统课程
2022在 Go (Golang) 中使用微服务的系统课程
2022-08-04 05:31:00 【Slivaa】
前文
使用 Go 构建高度可用、可扩展、有弹性的分布式应用程序
说明
长期以来,Web 应用程序通常是一个处理所有事情的单一应用程序——换句话说,一个单体应用程序。这个整体处理用户身份验证、日志记录、发送电子邮件和其他所有事情。虽然这仍然是一种流行(且有用)的方法,但今天,许多更大规模的应用程序倾向于将事物分解为微服务。今天,大多数大型组织都专注于使用这种方法构建 Web 应用程序,这是有充分理由的。
微服务,也称为微服务架构,是一种架构风格,它将应用程序构建为较小应用程序的松散耦合集合。微服务架构允许快速可靠地交付大型、复杂的应用程序。
微服务的一些最常见的功能
它是可维护和可测试的;
它与应用程序的其他部分松散耦合;
可自行部署;
它是围绕业务能力组织的;
它通常由一个小团队拥有。
在本课程中,我们将开发一些小型、自包含、松散耦合的微服务,它们将相互通信,以及一个简单的前端应用程序,使用 REST API、RPC、gRPC,并通过发送和消费使用 AMQP(高级消息队列协议)的消息。
我们构建的微服务将包括以下功能:
前端服务,只显示网页;
一个身份验证服务,带有一个 Postgres 数据库;
一个日志服务,带有一个 MongoDB 数据库;
一个 Listener 服务,它接收来自 RabbitMQ 的消息并对其进行操作;
Broker 服务,它是微服务集群的可选单点入口;
一个邮件服务,它接受一个 JSON 有效负载,转换成一个格式化的电子邮件,然后发送出去。
所有这些服务都将用 Go 编写,通常称为 Golang,这种语言特别适合构建分布式 Web 应用程序。
我们还将学习如何将我们的分布式应用程序部署到 Docker Swarm 和 Kubernetes,以及如何根据需要扩大和缩小规模,以及如何在很少或没有停机时间的情况下更新单个微服务。
此课程给了哪些人
使用过单体应用程序并想学习如何使用微服务的 Go 开发人员
学习此课程
边栏推荐
- [Copy Siege Lion Log] Flying Pulp Academy Intensive Learning 7-Day Punch Camp-Study Notes
- Cut the hit pro subtitles export of essays
- [Daily office][shell] Common code snippets
- C语言静态变量static的分析
- MOOSE平台使用入门攻略——如何运行官方教程的例子
- Rules.make - suitable for viewing in edit mode
- const int * a 与 int * const a 的定义与区别
- tmux概念和使用
- 在AWS-EC2中安装Minikube集群
- LeetCode_Dec_1st_Week
猜你喜欢
MNIST手写数字识别 —— 图像分析法实现二分类
tmux concept and usage
题目1000:输入两个整数a和b,计算a+b的和,此题是多组测试数据
Copy Siege Lion 5-minute online experience MindIR format model generation
[Deep Learning Diary] Day 1: Hello world, Hello CNN MNIST
亚马逊云科技 Build On 2022 - AIot 第二季物联网专场实验心得
CSDN spree -- college round table spree
第二章 STA相关概念
指针运算相关面试题详解【C语言】
彻底删除MySQL教程
随机推荐
LeetCode_22_Apr_4th_Week
The usefulness of bind() system call
使用JS在浏览器中打印菱形
亚马逊云科技Build On-Amazon Neptune基于知识图谱的推荐模型构建心得
[CV-Learning] Linear Classifier (SVM Basics)
Rules.make-适合在编辑模式下看
Detailed steps to install MySQL
MNIST handwritten digit recognition - based on Mindspore to quickly build a perceptron to achieve ten categories
CSDN spree -- college round table spree
Tensorflow/Pytorch安装(Anaconda环境下,无版本冲突,亲测有效)
Socket编程详解
Amazon Cloud Technology Build On-Amazon Neptune's Knowledge Graph-Based Recommendation Model Building Experience
MNIST手写数字识别 —— 图像分析法实现二分类
树和二叉树
第三章 标准单元库(上)
安装MySQL的详细步骤
线程池原理
机器学习——分类问题对于文字标签的处理(特征工程)
Completely remove MySQL tutorial
Copy Siege Lions "sticky" to AI couplets