集群架构
文章平均质量分 89
从单体到高可用集群不断演进。主要涉及LVS+Nginx;Redis等技术
TOMORROW6COME
这个作者很懒,什么都没留下…
展开
-
快速搞定分布式RabbitMQ---RabbitMQ进阶与实战
1.防火墙需要添加5672以及15672端口,防火墙允许其开放第一个命令:firewall-cmd --add-port=5672/tcp --permanent显示执行成功:success但是使用:firewall-cmd --query-port=5672/tcp查询的时候未查询到2.hostname修改涉及集群的测试;Hostname,修改后需要重启才能够生效;原创 2024-07-26 17:14:17 · 1043 阅读 · 0 评论 -
快速搞定分布式RabbitMQ-分布式消息队列基础
Kafka介绍:日志收集和传输;适合产生大量数据的互联网服务的数据收集业务如果你想做消息一条不丢,kafka能够实现,效率会相对低下。分布式;跨平台;实时性;伸缩性强Kafka做日志收集,瓶颈点在ES,ES集群的磁盘满了,导致ES消息限流;消息都堆积在kafka,数据堆积量可能达到了几十亿;并不影响kafka消息接收能力。顺序写,PageCache空中接力,高效读写;(顺序写排,可以提高磁盘的利用率)高性能,高吞吐;后台异步,主动Flush;预读策略,IO调度。原创 2024-07-25 20:57:11 · 885 阅读 · 0 评论 -
分布式搜索引擎ES-Elasticsearch深度分页与批量操作
每次搜索都是基于一个历史的数据快照,查询数据的期间,如果有数据变更,那么和搜索是没有关系的,搜索的内容还是快照中的数据。我们在获取第9999条到10009条数据的时候,其实每个分片都会拿到10009条数据,然后集合在一起,总共是10009*3=30027条数据,针对30027数据再次做排序处理,最终会获取最后10条数据。深度分页其实就是搜索的深浅度,比如第1页,第2页,第10页,第20页,是比较浅的;发生异常报错不会影响其他操作。需要查询初始化,通过scroll_id实现查询,当hits为空,查询完毕。原创 2024-07-24 17:37:42 · 565 阅读 · 0 评论 -
分布式搜索引擎ES--Elasticsearch集群
在最新版7.x中,minimum_master_node这个参数已经被移除了,这一块内容完全由es自身去管理,这样就避免了脑裂的问题,选举也会非常快。N为集群的中master节点的数量,也就是那些 node.master=true 设置的那些服务器节点总数。同一个分片的主与副本是不会放在同一个服务器里的,因为一旦宕机,这个分片就没了;每个主分片都包含索引的数据,由于目前是单机,所以副分片是没有的,集群健康值显示为黄色。克隆以后,先将es中的打他目录,一定要清空,这里面包含了原先的索引库数据。原创 2024-07-25 15:49:36 · 1358 阅读 · 0 评论 -
分布式搜索引擎ES-DSL搜索详解
建立索引: xxx(自定义名称)自定义mapping:请求参数的查询(QueryString)查询[字段]包含[内容]的文档测试搜索:q=desc:新华网拼接查询:称为queryString方式查询q=nickname:新&q=age:25text与keyword搜索对比测试(keyword不会被倒排索引,不会被分词)这种方式称之为QueryString查询方式,参数都是放在url中作为请求参数的。原创 2024-07-23 22:02:14 · 1310 阅读 · 0 评论 -
快速搞定分布式Kafka
;;;esac使用ZooInspector图形界面连接zookeeper。使用到的命令:java -jar.\zookeeper-dev-ZooInspector.jar。原创 2024-08-01 18:52:54 · 458 阅读 · 0 评论 -
分布式会话拦截器
分布式会话拦截器原创 2024-07-20 14:06:40 · 388 阅读 · 0 评论 -
LVS+Nginx高可用集群---Nginx进阶与实战(二)
3.修改静态项目中app.js关于url的配置:由于暂时没有配置域名,所以只修改端口的内容,然后将shop跟center的内容暂时修改成对应的ip+端口。2.将tomcat-frontend的webapps下的静态foodie-shop和foodie-center移动到/home/website。检查nginx是否含有ssl的模块-安装ssl模块-配置HTTPS模块-配置SSL-主域名可以通过HTTPS访问。大概步骤:云服务器-注册域名-配置SSL证书-下载证书,并且拷贝到nginx的conf目录下。原创 2024-07-09 11:56:19 · 508 阅读 · 0 评论 -
LVS+Nginx高可用集群---keepalived原理与实战
高可用的故障转移跟故障切换都是通过VIp协议完成的,(主节点)不停的往备用机发送心跳,备用机拿到之后就知道主节点还活着。将/home/software/keepalived-2.2.7/keepalived/etc目录下的 init.d/keepalived 移动到/etc/keepalived.首先安装backup节点的keepalived,修改对应keepalived里的配置(参考之前配置的内容),并且配置为系统服务。存在多个虚拟ip(有权重),在主节点宕机,多个BACKUP会有个竞争的过程。原创 2024-07-15 22:43:28 · 1442 阅读 · 0 评论 -
LVS+Nginx高可用集群---搭建高可用集群负载均衡
Lvs(Linux Virtual Server):使用集群,对于整个用户来说是透明,用户访问的时候是单个高性能的整体。道理与nginx类似LVS网络拓扑图:是基于四层。用户通过浏览器发送请求,然后到达LVS.Lvs根据相应算法将请求发送到相应的真实的服务器上(RS).原创 2024-07-16 22:20:34 · 1937 阅读 · 4 评论 -
分布式搜索引擎ES-Elasticsearch进阶
设置相应的数据结构:(mapping,就是定义数据的类型)Index:false:表示不被识别,如果存放私密信息的时候设置为FALSEtext与keyword异同:同:都是String异:text大的文本,需要分词;keyword:精确匹配的搜索,微信号,手机号,QQ号等无需分词创建索引的同时创建mapping},为已经存在的索引创建mappings或者创建mappings"id": {},"age": {},},},},"sex": {},"score": {},原创 2024-07-18 19:55:19 · 1050 阅读 · 0 评论 -
分布式搜索引擎ES-elasticsearch入门
正排索引:相当于文档中的一条条记录;例子:汉语值得学习;汉语是语言;汉语学习视频;倒排索引:起源于实际应用中需要根据属性的值来查询记录。这种索引表的每一项都包括一个属性值和包含该属性值得各个记录地址。由于不是根据记录来确定属性,而是根据属性来确定记录的位置。可以记录文档的ids,词频跟位置例子:汉语值得学习;汉语是语言;汉语学习视频;单词文档ids词频TF;位置POS汉1,2,3语1,2,3值得11:1:<3>学习1,3是21:1;<3>言2。原创 2024-07-18 18:59:52 · 1546 阅读 · 0 评论 -
LVS+Nginx高可用集群--基础篇(二)
Tomcat是在内网的,域名跟云服务器的公网ip进行了绑定,tomcat的ip相当于对外关闭的。通过域名解析了之后,不管我们ip怎么去变,用户访问的域名永远是固定的。我们修改host文件目的就是劫持,在请求dns服务解析ip之前,提前把url和对应服务器ip地址的映射关系配置好。主流:location对应的是/后面的内容。解析域名成对应的ip 通过ip器发送相应的请求的。#定义压缩的级别(压缩比,文件越大,压缩越多,但是cpu使用会越多)这个就是模拟本地域名的,也就是修改host,生产环境就是域名。原创 2024-07-08 13:39:10 · 528 阅读 · 0 评论 -
Redis实现用户会话
Springsession框架就是解决方案,提供一组API和实现,用于管理用户的session信息,它把servlet容器实现的httpsession替换成Springsession,专注于解决session管理问题,Session信息存储在Redis中,可简单快速无缝的集成到我们的应用中。SpringSession的特性:提供用户session管理的API和实现;提供HttpSession,以中立的方式取代web容器的session,比如tomcat中的session;原创 2024-07-20 13:02:20 · 1503 阅读 · 0 评论 -
LVS+Nginx高可用集群--基础篇
LVS+Nginx详解原创 2024-07-04 20:55:59 · 1216 阅读 · 0 评论 -
LVS+Nginx高可用集群---Nginx进阶与实战
两个站点的域名不一样,就会有一个跨域问题。跨域问题:了解同源策略:协议,域名,端口号都相同,只要有一个不相同那么就是非同源。CORS全称Cross-Origin Resource Sharing,意为跨域资源共享。当一个资源去访问另一个不同域名或者同域名不同端口的资源时,就会发出跨域请求。如果此时另一个资源不允许其进行跨域资源访问,那么访问就会遇到跨域问题。跨域指的是浏览器不能执行其它网站的脚本。是由浏览器的同源策略造成的,是浏览器对JavaScript 施加的安全限制。前端有跨域吗?有。原创 2024-07-08 17:45:34 · 1044 阅读 · 0 评论