- 前言
- 第一部分 基础应用开发
- 第 1 章 Spring Boot 入门
- 第 2 章 在 Spring Boot 中使用数据库
- 第 3 章 Spring Boot 界面设计
- 第 4 章 提高数据库访问性能
- 第 5 章 Spring Boot 安全设计
- 第二部分 分布式应用开发
- 第 6 章 Spring Boot SSO
- 第 7 章 使用分布式文件系统
- 第 8 章 云应用开发
- 第 9 章 构建高性能的服务平台
- 第三部分 核心技术源代码分析
- 第 10 章 Spring Boot 自动配置实现原理
- 第 11 章 Spring Boot 数据访问实现原理
- 第 12 章 微服务核心技术实现原理
- 附录 A 安装 Neo4j
- 附录 B 安装 MongoDB
- 附录 C 安装 Redis
- 附录 D 安装 RabbitMQ
- 结束语
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
9.3 使用 Docker 的其他负载均衡实施方法
Docker 还可以跟其他工具配合使用,配置各种负载均衡服务,搭建高性能的服务平台。例如 Docker 跟 Nginx、Haproxy、Kubernetes 等工具配合使用,都能设计出高性能和高可用的负载均衡服务。不过这些内容已经超过了本书的范围,下面只是简单地介绍,有兴趣的读者可以查找相关的资料进行深入研究。
9.3.1 使用 Nginx 与 Docker 构建负载均衡服务
最简单的莫过于使用 Nginx 来作为负载均衡服务,连接分布于不同机器上的由 Docker 发布的服务。如下代码是一个非常简单的 Nginx 负载均衡配置。
server { listen 80; server_name 192.168.1.10; location / { proxy_pass http://blance; } } upstream blance{ server 192.168.1.11; server 192.168.1.12; }
这个简单的配置是将 Nginx 安装在一台机器上,对外提供服务,它使用负载均衡的机制,将实际使用的服务分布在其他两台机器上。
9.3.2 阿里云的负载均衡设计实例
看看在使用阿里云的负载均衡设计中,使用 Nginx 和 Docker 配置的一个可以动态扩容的负载均衡的样例,这也许能给我们一些参考和启示。
如下代码使用 docker-compose 的模板,配置了两个 Nginx 和两个 Tomcat,并且每个 Tomcat 都运行两个容器。
nginx: image: 'nginx:latest' labels: aliyun.routing.port_80: 'http://ngtomcat' aliyun.scale: '2' ports: - '80' links: - 'tomcat1:tomcat1' - 'tomcat2:tomcat2' restart: always extra_hosts: - "tomcat1.ir:123.56.80.151" - "tomcat2.ir:182.92.204.43" tomcat1: environment: - LANG=C.UTF-8 - CATALINA_HOME=/usr/local/tomcat - TOMCAT_MAJOR=8 image: 'tomcat:latest' labels: aliyun.scale: '2' aliyun.routing.port_8080: 'http://tomcat.ir' ports: - '8080' restart: always tomcat2: environment: - LANG=C.UTF-8 - CATALINA_HOME=/usr/local/tomcat - TOMCAT_MAJOR=8 image: 'tomcat:latest' labels: aliyun.scale: '2' aliyun.routing.port_8080: 'http://tomcat.ir' ports: - '8080' restart: always
而它的 Nginx 的配置如下代码所示:
upstream tomcat.ir { server tomcat.ir.1; server tomcat.ir.2; } server { listen 80; server_name tomcat.ir; index index.html index.htm index.php; access_log /var/log/nginx/access.log; location / { proxy_pass http://tomcat.ir; } }
(上面资料来源: https://yq.aliyun.com/articles/6816#3 )
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论