企业集群平台架构设计与实现 haproxy 篇4|学习笔记

简介: 快速学习企业集群平台架构设计与实现 haproxy 篇4

开发者学堂课程【企业集群平台架构设计与实现:lvs/haproxy/keepalived:企业集群平台架构设计与实现 haproxy 篇4】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/391/detail/5016


企业集群平台架构设计与实现 haproxy 篇4


目录:

一、关于爱维 Linux 公开课的介绍

二、课程讨论答疑


一、公开课的介绍  

前边介绍了 haproxy 。 这是公开课第九期的一个课程,就是关于企业集群应用架构设计与实现。通过两个课时重点介绍集群的一个实现,讲述了两个常用的集群软件,一个是lvs,另外一个是haproxy。还有一个集群架构的实现。这个课程到这一期基本上就完成了。

那么下个课时的内容是虚拟化。也就是:虚拟化平台开源利器Proxmox。

先登陆腾讯课堂。打开公开课的地址:

https://ke.qq.com/course/117291#term_ jd a 100127883

看课程目录,主要是讲关于一个虚拟化管理平台。这个软件非常好用,是开源的,使用也非常方便,比直接通过KVM建虚拟机或管理就简单很多。也比通过 openstack 搭建环境要更简单很多。这个对于中小型应用来说基本上是全部都能满足的。所以,重点介绍集成管理平台。虚拟化管理平台它可以快速建立一个虚拟机,还有基于KVM的虚拟机。


二、课程讨论答疑

1、三个 bank 用的 server 和端口能不能相同?

端口其实定义后端的一个 server 主机。一个主机组,他们的端口是随便的,可以相同也可以不同。

2、两个后端 server 的端口8080可以跟前端主机80相同吗?

这两个后端的地址是随便定义的。这两个服务器237和234是另外一个独立的服务器。那么端口可以随便定义。这里就是简单定成8080,但定成80也可以,只要跟本机不冲突就可以。

比如,236主机这个80端口,让 haproxy 给占用的。如果再输入一个本机,236的80就不行了,所以,只要本机的8080端口不冲突就没问题。Haproxy 默认就会把80端口给占用了,这里绑定就是80端口,后端的server是本机也没问题,后端的 server 不占80端口。后端的两个主机就是两个主机组,没有定义端口,定义端口是在 frontend 里边去进行定义的,backend 里边没有定义端口,定义端口都是在 frontend 里边去定义端口的,在这段去进行定义:

……

frontend www

Bind *:80

mode   http

option    httplog

option    forwardfor

option    httpclose  

log       global

……

“Bind *:80”是绑定一个80。

3、如果再加第二个 frontend 的话,还能不能再定义80 ?

可以定义。它其实就相当于虚拟主机的概念。相当于 IIS 或者 Apache 里边虚拟主机的概念,这个是可以相同的。

4、Haproxy 硬件配置

如果要安装 haproxy APP 的话,配置就可以。它的配置比这个LVS配置要稍高,因为相对来说还是比较消耗资源的,对硬件有消耗,对网卡、带宽都是有消耗的。因为 haproxy 进出都是要经过它自身的。所以对性能这块,这个配置要比 LVS 的服务器要稍微高一点。它对内存的要求并不高。内存的话一般是16G、32G就足够。

5、100万的 PV 量和1000万 PV 量的,怎么选?

100万 PV 是没有多少的。比如,现在有一个环境是集群,一般说100万的 PV 量一天大概是五千万到1亿左右,用的是一个底层LVS。

那么 LVS 的配置大概到8G内存。然后只需要一颗四核的 CPU。

大概有两年多没有出过任何问题。如果说,像这个配100万PV 量其实是很小的,要用 Apache 建议 16G 内存、两颗四核CPU。16G内存足够一千万的量。把这个内存再稍微加大一点加到32G,CPU有两颗六核或八核是没有问题的。这些硬件之间也没有差多少钱应该。

6、访问控制

Haproxy 的访问控制可以限制登录的来源地址,另外,也可以通过密码去控制访问。这两个方面基本上就足够了。如果要看的人很多的话其实是可以设置很多密码的。这里是设了一个密码,是123,

listen admin stats

bind 0.0.0.0:9188

mode http

1og 127.0.0.1 loca10 err

stats refresh 30s

stats uri /haproxy-s tatus

stats realm welcome login\ Haproxy

stats auth admin:admin123

stats hide-version

stats admin if TRUE

如果要成批去设置的话,就在最下边再一行,然后再继续把前面的内容加上,后面用户名,密码多加一行就可以了,一行是一个密码,一行一个陆续加就可以了。

7、Haproxy 比较好的一个地方

Haproxy 比较好的一个地方就是有一个内网地址和一个外网地址。在监控页面,把它绑定到内网地址上来,然后服务地址绑定在外网上,这样就非常安全。

8、根据业务量及硬件配置,公司要求不浪费1G内存。

这个标准要求好高,谁也达不到。一G内存现在多少钱?16G内存现在也就几百块钱。对内存的要求没有非常精确,谁都做不到要精确到1G的标准。因为没有人知道你的业务量。相对有点夸张。

但是,一般情况下,在硬件选型的时候,8G内存就足够了。

建议选16G吧,选多一点对做技术本身来说是没有坏处的。

可能有时候觉得要尽量给公司去节省资源,本来8G就够用了,觉得4G也够用,那么到时候出了问题,内存不够,再去申请内存的时候,领导就会问:为什么当时没有考虑周全,没有考虑到位。所以,多申请,不管哪个行业,都是一个最基本的准则,需要8G,就申请16G。

9、硬件浪费

现在有很多硬件浪费,因为没有人能预估出来公司业务量到底需要多少硬件资源,或者说需要一些网络资源。

比如,使用阿里云的主机非常的贵,主要的原因就是现在对这个计划的不够周全。本来16G内存就足够了。但是开发、包括产品等,都说内存一定要足够大,结果预备了64G内存,而平时也就用大概16G左右。内存足够大肯定对开发者没有什么影响,内存小的话,什么问题都会遇到。比如,领导说内存小不加内存了,去优化程序。这就是非常烦恼的事情了。

10、一台机器装了十几个 tomcat,内存的使用率是99%。

Tomcat 是单线程的,可以在一个机器上装两个到三个内存稍微大点的,但装十几个,用的还是一个硬件资源体,那 gdm 要怎么配?

成本是需要考虑,但是在硬件上一定不要去省成本。把钱省给公司,公司没有给你钱,那么出了问题还得自己搞定。换句话说,反正,钱是公司的钱,只要保证业务稳定其实就已经足够了,不需要考虑别的。如果不做默认配置的话,发生内存溢出的概率是很高的,默认情况下,原本配置是128兆,最高到256兆,非常低必须得配置。然后,对gdm 这块,就改成自动化的,给内存的大小去自动去设置一个合适的 gdm 值。

Tomcat 是不能用缺省的配置,特别是 gdm 。这里,一定要用自己重新设置的值,只有这样,这个系统才能达到充分的发挥。

11、内存达到4G也会有溢出

这是肯定的。其实优化是逃不开的。这是根据业务本身来定的,设大了也不一定好,设置小的话那肯定是有问题的。具体设置多少跟业务类型来定。

对 Tomcat 并发来说,最多能支持200多个并发。并发很高的话,那肯定是群架构。有一些对动态请求比较多的都会用的其他方式了。

所以,做 tomcat 基本上内存一定要足够大,足够大的话才能保证没有问题。

对于在一台机器装了十几个 tomcat 的问题,在一个机器上多起几个 Tomcat 就行,但是不要起太多,太多的话反而没有意义了,内存足够大的话,起两个到三个就弥补了单线程。

单线程的概念,能充分利用多个 cpu 的优势。

12、Tomcat怎么有129个?

“起了129个 Tomcat 实例,物理服务器硬件配置是32个G物理内存运行129个实例。”

这应该不是运行129个实例,应该是之前开的 gdm 没有停掉,然后不停的重新起 Tomcat 导致的。起129个实例,一个实例32G的内存, gdm 加载起来的话内存连1亿都没有,怎么运行?129个的话最大512兆是,平分也不够的。比如是100多个,一个是512兆,十个就是100个50G,现在还是129个,这绝对是一个僵尸的进程。

就是上次 Tomcat 的没有停掉,这次又重起了一个 Tomcat ,所以,越起越多,真的实例没有这么多。

所说的实例是什么?就是起了两个 Tomcat ,或者起了三个Tomcat ,而不是说起了多少个进程。

小游戏这样的应用,每个小应用可能都是非常小的一些业务。这本身都是些小业务,就相当于做一些小容器一样。

可以把这个服务器做到 docker 里,都通过容器做虚拟化,这样能避免资源消耗。

可以考虑一下,运行这么多个Tomcat 实例,还不如把每个 Tomcat实例封装到 docker 里边,然后起100多个 docker ,这样的一个虚拟化容器性能又高。

这里,不用看 gdm 是怎么设置的,gdm 肯定不是按标准去设置的。它最大是512兆对,可能平时也只用了就是几十兆。这样才不会出现 OM 。如果都用到顶峰512兆早就出现 OM  了。

相关文章
|
8天前
|
自然语言处理 JavaScript Java
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS架构介绍
HarmonyOS采用分层架构设计,从下至上分为内核层、系统服务层、框架层和应用层。内核层支持多内核设计与硬件驱动;系统服务层提供核心能力和服务;框架层支持多语言开发;应用层包括系统及第三方应用,支持跨设备调度,确保一致的用户体验。
124 81
|
19天前
|
监控 数据可视化 架构师
为什么企业需要开展架构治理?
随着数字化转型加速,企业面临的技术和业务环境日益复杂,传统架构难以应对快速变化的需求。企业架构治理成为数字化转型的关键,通过确保技术与战略对接、优化资源利用、降低风险和复杂性,提升企业灵活性、效率和创新能力,支持快速响应市场变化,推动数字化转型成功。
83 7
为什么企业需要开展架构治理?
|
1天前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
|
19天前
|
监控 数据可视化
如何通过建模工具实现企业架构治理全流程管理
企业架构治理工具通过构建统一的架构语言、可视化建模、流程管理、资源整合和多场景分析,实现企业架构的全生命周期管理。该工具赋能企业数字化转型,确保业务、平台、数据及技术相互耦合闭环,提供从规划到决策的一站式服务,助力提升业务运营、优化组织管理和加速数字化建设。
36 2
如何通过建模工具实现企业架构治理全流程管理
|
5天前
|
人工智能 运维 监控
云卓越架构:企业稳定性架构体系和AI业务场景探秘
本次分享由阿里云智能集团公共云技术服务部上海零售技术服务高级经理路志华主讲,主题为“云卓越架构:企业稳定性架构体系和AI业务场景探秘”。内容涵盖四个部分:1) 稳定性架构设计,强调高可用、可扩展性、安全性和可维护性;2) 稳定性保障体系和应急体系的建立,确保快速响应和恢复;3) 重大活动时的稳定重宝策略,如大促或新业务上线;4) AI在企业中的应用场景,包括智能编码、知识库问答、创意广告生成等。通过这些内容,帮助企业在云计算环境中构建更加稳定和高效的架构,并探索AI技术带来的创新机会。
|
6天前
|
监控 架构师 安全
企业架构(EA)项目开发综合指南
企业架构(EA)是一种全面的方法,用于对齐企业的业务目标与其 IT 战略和资源。EA 涵盖了企业的各个层面,包括业务流程、信息流、应用系统和技术基础设施。本指南将详细探讨 EA 项目开发的关键步骤、[EA](https://www.visual-paradigm.com/features/enterprise-architecture-diagram-tool/) 与 TOGAF、ArchiMate 以及其他建模图(如 BPMN 和 UML)之间的关系,以及推荐 Visual Paradigm 作为 EA 团队的最佳解决方案。
36 3
|
21天前
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
67 3
|
19天前
|
存储 负载均衡 监控
揭秘 Elasticsearch 集群架构,解锁大数据处理神器
Elasticsearch 是一个强大的分布式搜索和分析引擎,广泛应用于大数据处理、实时搜索和分析。本文深入探讨了 Elasticsearch 集群的架构和特性,包括高可用性和负载均衡,以及主节点、数据节点、协调节点和 Ingest 节点的角色和功能。
40 0
|
20天前
|
弹性计算 负载均衡 安全
企业业务上云经典架构方案整体介绍
本次课程由阿里云产品经理晋侨分享,主题为企业业务上云经典架构。内容涵盖用户业务架构现状及挑战、阿里云业务托管经典架构设计、方案涉及的产品选型配置,以及业务初期如何低门槛使用。课程详细介绍了企业业务上云的全流程,帮助用户实现高可用、稳定、可扩展的云架构。
|
1月前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。

热门文章

最新文章