亿级PV项目开发
文章平均质量分 56
添尹
这个作者很懒,什么都没留下…
展开
-
第十三章 K8S
master机:192.168.26.227。node机:192.168.26.228。查看运行的node节点机器。原创 2023-07-08 15:39:56 · 562 阅读 · 0 评论 -
第十二章 elk
ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、io等资源消耗比较高。相比 Logstash,最左边的是业务服务器集群,上面安装了filebeat做日志采集,同时把采集的日志分别发送给两个logstash服务。logstash服务把接受到的日志经过格式处理,转存到ES DataNode。ES DataNode 会把收到的数据,写磁盘,建索引库。日志分布在多台不同的服务器上,业务一旦出现故障,需要一台台查看日志。单个日志文件巨大,无法使用常用的文本工具分析,检索困难;原创 2023-07-08 15:13:40 · 791 阅读 · 0 评论 -
第十二章 kafka
Producer即生产者,消息的产生者,是消息的入口。:Broker是,每个服务器上有一个或多个kafka的实例,我们姑且认为每个broker对应一台服务器。每个kafka集群内的broker都有一个不重复的编号,如图中的broker-0、broker-1等……主要负责处理读和写的请求:消息的主题,可以理解为消息的分类,kafka的。在每个broker上都可以创建多个topic。:Topic的分区,每个topic可以有多个分区,分区的作用是做负载,提高kafka的吞吐量。原创 2023-07-06 22:16:48 · 686 阅读 · 0 评论 -
第十一章 rabbitmq分布式事务
下单与下单统计之间的分布式事务原创 2023-07-06 16:21:57 · 79 阅读 · 0 评论 -
第十章 服务降级
降级的最终目的是保证核心服务的高可用。过程就是丢卒保帅,有些服务是无法降级的,比如支付。当我们的服务器压力剧增为了保证核心功能的可用性 ,而选择性的降低一些功能的可用性,或者直接关闭该功能。这就是典型的丢车保帅了。就比如贴吧类型的网站,当服务器吃不消的时候,可以选择把发帖功能关闭,注册功能 关闭,改密码,改头像这些都关了,为了确保登录和浏览帖子这种核心的功能。降级的原理:就是降低次要功能的可用性实用性,增加核心功能的高可用性。降级的实现原理是多样多样的。原创 2023-07-06 14:50:24 · 116 阅读 · 0 评论 -
第九章 elasticsearch集群与商品搜索
1、支持复杂的查询;2、ES从一出生就是为分布式、集群化而 生的,不仅方便横向扩展、动态增加节点创建索引的时候,定义3个分片,每个分片1个副本集,一个就有6个分片如图,不论我们有多少个es实例,当用户需要对es进行增删改查的时候,连接任何一台节点都行,es内部会进行转发。这也是es集群的个性之一。原创 2023-07-06 13:35:18 · 547 阅读 · 0 评论 -
第八章 实现商品详情数据异构及静态化
2 、直接模式,对于部分高并发请求, 为了提高吞吐率, 有必要砍掉一些环节和应用来实现快速响应,如上图,这里我们将普通模式中的php-fpm和php框架砍掉了。1、 普通模式,用户获得redis数据需要经过nginx,lua-nginx-module是nginx的lua模块。nginx直接从redis获取数据。对应的ngnix配置。原创 2023-07-06 12:46:22 · 746 阅读 · 0 评论 -
第七章 商品详情三
3、前端访问商品详情页: 先请求的mongodb中的聚合数据,借此实现页面展示(前端部分略),而对于有部分数据,是需要买家点击后才显示的, 这类数据是在 买家点击后到redis异构数据中去请求数据。2、数据worker(192.168.232.100)作为rabbitmq的消费者,对消息进行消费, 并将库存数据放入mongodb集群和redis,mongodb中的是聚合数据(),而redis当中的 是异构数据。原创 2023-07-06 11:34:21 · 189 阅读 · 0 评论 -
第六章 rabbitmq高可用集群
在服务之间会采用mq进行消息通信,而rabbitmq本身也如同consul一样,如果只有一个节点那么就可能出现宕机的问题,并且基于mq的特点我们是可以在多个服务之间使用同一个mq来相互通信,因此高可用的架构设计就必不可少。原创 2023-07-06 10:43:36 · 983 阅读 · 0 评论 -
第五章 商品服务发现与客户服务通信
正常来说consul是会向服务去做心跳检测的;这个操作很简单只需要基于consul的参数进行配置即可处理好,当然在这之前我们需要了解当前rpc的运行协议是什么。运用tcp来实现rpc通信;consul心跳检测只需要修改配置即可实现。这里我们可以利用一个shell脚本设置.env内容处理。原创 2023-07-05 22:23:01 · 1348 阅读 · 0 评论 -
第四章 商品详情分析与高可用负载均衡
ii:可以选择将商品详情单独拆分成一个服务,将它放到商品模块,但实际场景中,商品详情可以单独部署成一个服务,这个实现起来也很简单,增加商品详情服务器然后注册到consul即可。我们采用了数据聚合,将其他服务和模块的数据聚合到商品详情下的mongodb,前端请求mongodb获得聚合完成数据。对于商品模块以及首页等查询多,几乎无插入的内容,我们可以考虑不同层面的缓存策略以便可以更好的提高查询的效率;也就是说需要获取以及展示的数据就非常的多,因此在根据不同的唯度拆分的情况下就需要从不同的服务获取相关的数据。原创 2023-07-05 19:06:28 · 59 阅读 · 0 评论 -
第三章 ngnix动态负载均衡
1. worker进程重启的过程会等待现有的请求处理完毕(需要一定的时间) 2. 重启的过程中无法 处理请求-可能会造成一定的性能消耗(可能会堆积一些用户的请求无法处理)我们正常的情况就是,如果需要额外增加一台服务器,则会出现一个情况,就是它需要我们进行重启才能生效;client【0】 -》 nginx(upstream xx { 【1】 }) -》consul (【2】)《- 服务(【3】)【3】:服务在启动的时候通过put向consul注册自己的信息。【2】:如同一个数据库记录服务器的信息。原创 2023-07-05 18:56:43 · 1551 阅读 · 0 评论 -
第二章 swoft 快速入门
RPC全称为Remote Procedure Call,翻译过来为“远程过程调用”。目前分布式系统架构 ,微服务中不同的系统之间的远程通信和相互调用的重要的环节。客户端通过发送一个规定的rpc协议,请求服务的注册中心,由服务注册中心检索可用服务并且实现调用转发,服务内容由代码服务器在启动的时候,注册到服 务中心。服务中心暂时利用redis存储内容。原创 2023-07-05 18:31:56 · 502 阅读 · 1 评论 -
第一章:项目架构演变
架构演变原创 2023-07-05 16:12:05 · 120 阅读 · 0 评论