中间件
文章平均质量分 87
常用中间件资料整理学习使用
码农架构
专注于系统架构、高可用、高性能、高并发类技术分享
展开
-
微服务架构 | SpringBoot 元数据配置实践
Spring Boot jar 包含元数据文件,提供所有支持的配置属性的详细信息。该文件旨在让 IDE 开发者提供上下文相关的帮助和“代码完成”。总结本篇文章希望对从事相关工作的同学能够有所帮助或者启发。原创 2022-01-14 13:17:41 · 673 阅读 · 0 评论 -
微服务架构 | 如何利用日志链路追踪程序执行的慢 SQL?
查看 SQL 的执行效率,不难想到使用 explain 分析慢查询,但是前提是你需要非常了解业务背景。否则很难精准定位到。原创 2021-12-22 10:50:33 · 718 阅读 · 3 评论 -
微服务架构 | Hystrix 熔断降级需要注意哪些点?
导读:Hystrix的资源隔离策略有两种,分别为:线程池和信号量。说到资源隔离,那我们在实战中需要注意哪些点呢?一、背景对于Hystrix熔断器的隔离策略分别为:线程池和信号量,前面一篇已经做了详细说明《微服务架构 | Hystrix的资源隔离策略该如何选择?》具体使用哪种策略,需根据业务场景综合评估。一般情况下,推荐使用线程池隔离。尽但是实战中对于Hystrix熔断器需要还需要注意哪些点呢?二、Hystrix 实战经验分享在线程池隔离策略下,线程池大小及超时时间的设置至关重要..原创 2021-11-04 10:24:27 · 548 阅读 · 1 评论 -
怎么理解Kafka消费者与消费组之间的关系?
与生产者对应的是消费者,应用程序可以通过 KafkaConsumer 来订阅主题,并从订阅的主题中拉取消息。不过在使用 KafkaConsumer 消费消息之前需要先了解消费者和消费组的概念,否则无法理解如何使用KafkaConsumer。今天先讲解消费者与消费组之间的关系,后续再结合案例再细致地讲解如何使用。消费者负责订阅 Kafka 中的主题(Topic),并且从订阅的主题上拉取消息。与其他一些消息中间件不同的是:在 Kafka 的消费理念中还有一层消费组的概念,每个消费者都有一个对应的消费组。原创 2021-02-05 14:11:37 · 1644 阅读 · 2 评论 -
Kafka 发送消息过程中拦截器的用途?
消息在通过 send() 方法发往 broker 的过程中,有可能需要经过拦截、序列化器和分区器的一系列作用之后才能被真正地发往 broker。拦截器是早在 Kafka 0.10.0.0 中就已经引入的一个功能,Kafka 一共有两种拦截器:生产者拦截器和消费者拦截器。这里主要讲述生产者拦截器的相关内容生产者拦截器既可以用来在消息发送前做一些准备工作,比如按照某个规则过滤不符合要求的消息、修改消息的内容等,也可以用来在发送回调逻辑前做一些定制化的需求,比如统计类工作。生产者拦截器的使用也很...原创 2021-02-05 13:44:20 · 1798 阅读 · 2 评论 -
怎么理解 Kafka 消费者与消费组之间的关系?
与生产者对应的是消费者,应用程序可以通过 KafkaConsumer 来订阅主题,并从订阅的主题中拉取消息。不过在使用 KafkaConsumer 消费消息之前需要先了解消费者和消费组的概念,否则无法理解如何使用KafkaConsumer。今天先讲解消费者与消费组之间的关系,后续再结合案例再细致地讲解如何使用。消费者负责订阅 Kafka 中的主题(Topic),并且从订阅的主题上拉取消息。与其他一些消息中间件不同的是:在 Kafka 的消费理念中还有一层消费组的概念,每个消费者都有一个对应的消费组。原创 2021-01-29 15:40:33 · 2106 阅读 · 4 评论 -
Nginx 最常用的两个功能:负载均衡和缓存
负载均衡和缓存功能是 Nginx 最常用的两个功能,这两个功能都属于高性能的调优手段,也和后端人员的关系比较密切,只有了解并会使用它们才能更好地调试和运行自己的项目。针对Nginx 负载均衡模式先前有整理过:Nginx 的负载均衡模式有哪些?它的实现原理是什么?。本篇主要围绕负载均衡和缓存功能和配置做归纳总结Nginx 健康监测被代理的服务器出现宕机的情况,如果被 Nginx 发现,那么 Nginx 就会将其自动标识为不可用,并且在一段时间内会禁止入站的请求访问到该服务器上。而这个发现服务器宕机原创 2021-01-19 14:45:38 · 370 阅读 · 1 评论 -
Nginx 的负载均衡模式有哪些?它的实现原理是什么?
Nginx 是后端工程师和运维工程师,以及前端工程师必须要掌握的必备技能,尤其在分布式系统应用越来越广泛的今天,Nginx 已经占据了 Web 服务器的大壁江山,并且还在不断地增长,比如国内的 BATJ、网易、新浪等公司都可以看到它的身影。Nginx 的负载均衡模式有哪些?它的实现原理是什么?什么是Nginx?Nginx 是一款开源的高性能轻量级 Web 服务器(也叫 HTTP 服务器),它主要提供的功能是:反向代理、负载均衡和HTTP 缓存。它于 2004 年首次公开发布,2011 年成立同名公司原创 2021-01-15 14:32:31 · 629 阅读 · 1 评论 -
多级缓存架构在消息系统中的应用
下面是谷歌的技术奠基人杰夫·狄恩(Jeff Dean)给出的一些计算机相关的硬件指标,虽然有些数据可能由于时间太久不够准确,但大致的量级基本还是一致的。L1 cache reference 0.5 ns Branch mispredict 5 ns L2 cache reference 7 ns Mutex lock/unlock 100 ns Main memory reference 100 ns Compress 1K bytes with Zippy 10,000 ns Send 2原创 2020-11-20 16:11:44 · 216 阅读 · 0 评论 -
轮询与长连接:如何解决消息的实时到达问题?
实时性主要解决的问题是:当一条消息发出后,我们的系统如何确保这条消息最快被接收人感知并获取到,并且尽量让耗费的资源较少。 这里关键的几个点是:最快触达,且耗费资源少。短轮询场景在短轮询模式中,服务器接到请求后,如果有新消息就会将新消息返回给客户端,如果没有新消息就返回空列表,并关闭连接。长轮询场景长轮询和短轮询相比,一个最大的改进之处在于:短轮询模式下,服务端不管本轮有没有新消息产生,都会马上响应并返回。而长轮询模式当本次请求没有获取到新消息时,并不会马上结束返回,而是会在服务.原创 2020-11-09 14:15:45 · 776 阅读 · 1 评论 -
消息模型:主题和队列有什么区别?
可以看到,技术圈的风向一直在变,大数据、云的热度已经在慢慢消退,现在当红的是 AI 和 IoT。这些火热的概念,它最终要从论文和 PPT 落地,变成真正能解决问题的系统,否则就是一个空中楼阁。那不变的是什么?(一些题外话的感触)主题和队列有什么区别?最初的消息队列,就是一个严格意义上的队列 消费者之间实际上是竞争的关系,每个消费者只能收到队列中的一部分消息 如果需要将一份消息数据分发给多个消费者,要求每个消费者都能收到全量的消息,例如,对于一份订单数据,风控系统、分析系统、支付系统等都原创 2020-11-13 11:33:17 · 354 阅读 · 1 评论 -
监控系统选型,这篇不可不读!
之前,我写过几篇有关「线上问题排查」的文章,文中附带了一些监控图,有些读者对此很感兴趣,问我监控系统选型上有没有好的建议?目前我所经历的几家公司,监控系统都是自研的。其实业界有很多优秀的开源产品可供选择,能满足绝大部分的监控需求,如果能从中选择一款满足企业当下的诉求,显然最省时省力。这篇文章,我将对监控体系的基础知识、原理和架构做一次系统性整理,同时还会对几款最常用的开源监控产品做下介绍,以便大家选型时参考。内容包括3部分: 必知必会的监控基础知识 主流监控系统介绍 监..原创 2020-11-09 12:21:07 · 659 阅读 · 1 评论 -
中间件:RabbitMQ的应用场景以及基本原理介绍
1.背景RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现。2.应用场景2.1异步处理场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种1.串行的方式;2.并行的方式串行方式将注册信息写入数据库后,发送注册邮件,再发送注册短信,以上三个任务全部完成后才返回给客户端。 这有一个问题是,邮件,短信并不是必须的,它只是一个通知,而这种做法让客户端等待没有必要等待的东西.并行方式将注册信息写入数据库后,发送邮件的同时,发原创 2020-09-25 15:30:33 · 304 阅读 · 0 评论