随笔分类 -  微服务/架构

摘要:最近项目中需要判定客户端是否还在线,需要用到心跳检测机制。这里做个笔记总结一下。 心跳检测机制: 网络中接收和发送数据都是通过操作系统的socket实现的。但是如果套接字已经断开,那发送和接收数据就会出问题。但如何判断套接字是否断开了呢?这就需要建立一种机制,能够检测通信对方是否还存活。如果已经断开 阅读全文
posted @ 2019-10-24 23:21 Alan6
摘要:一、RabbitMQ集群概念 RabbitMQ 有三种模式:单机模式,普通集群模式,镜像集群模式。单机模式即单独运行一个 rabbitmq 实例,而集群模式需要创建多个 rabbitmq实例。 1、普通集群模式 概念:默认的集群模式。需要创建多个 RabbitMQ 节点。但对于 Queue 和消息来 阅读全文
posted @ 2019-10-17 16:43 Alan6
摘要:一、logback + elk,tcp方式发送 环境搭建参考上一篇博客:https://www.cnblogs.com/alan6/p/11667758.html tcp方式存在的问题:tcp方式在日志量比较大,并发量较高的情况下,可能导致日志丢失。可以考虑采用 kafka 保存日志消息,做一个流量 阅读全文
posted @ 2019-10-15 17:30 Alan6
摘要:一、elk 概念 ELK是 Elasticsearch、Logstash、Kibana的简称,这三者是核心套件,但并非全部。 Elasticsearch:实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能。Elasticsearch是一套开放REST和JAVA API等结构提供高效搜索功能,可 阅读全文
posted @ 2019-10-14 17:41 Alan6
摘要:一、Logback Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J, Log4J2和Logback。每种Logger都可以通过配置使用控制台或者文件输出日志内容。Logback是log 阅读全文
posted @ 2019-10-06 12:43 Alan6
摘要:一、创建服务提供者service-hi 1、创建子项目的方法类似eureka,略 2、修改pom文件,主要是添加jar包 3、resource目录下添加配置文件application.yml 4、新建启动类,注意加上@EnableEurekaClient 注解,到eureka 注册服务 5、新建一个 阅读全文
posted @ 2019-09-15 17:22 Alan6
摘要:1、File—>New—Maven Project,选择Create a simple project,点击next 2、输入Group Id,Artifact Id,Packaging选择pom,点击Finish 3、父工程创建完成后,修改父pom文件,加入SpringCloud依赖 4、开始创建 阅读全文
posted @ 2019-09-13 23:34 Alan6
摘要:一、RabbitMQ消息确认机制 RabbitMQ的消息确认有两种:1、对生产端发送消息的确认。这种是用来确认生产者将消息发送给交换器,交换器传递给队列的过程中,消息是否成功投递。发送确认分为两步,一是确认是否到达交换器,二是确认是否到达队列。2、对消费端消费消息的确认。这种是确认消费者是否成功消费 阅读全文
posted @ 2019-09-13 17:31 Alan6
摘要:一、docker上部署并启动RabbitMQ 1、查询rabbitmq镜像 #docker search rabbitmq:3.8.19-management 2、拉取rabbitmq镜像 #docker pull rabbitmq:3.8.19-management 3、创建并启动容器 (1)创建 阅读全文
posted @ 2019-09-13 13:02 Alan6
摘要:一、RabbitMQ的几个关键概念 1、Connection和Channel 生产者/消费者都需要和RabbitMQ Broker建立连接,每个连接都是一条TCP连接,也就是Connection。 一旦TCP连接建立起来后,客户端就创建一个AMQP信道(Channel),每个信道都会被指派一个唯一的 阅读全文
posted @ 2019-09-12 09:23 Alan6
摘要:一、背景 生产端向rabbitmq发送消息时,由于网络等原因可能导致消息发送失败。所以,rabbitmq必须有机制确保消息能准确到达mq,如果不能到达,必须反馈给生产端进行重发。 RabbitMQ消息的可靠性投递主要两种实现:1、通过实现消费的重试机制,通过@Retryable来实现重试,可以设置重 阅读全文
posted @ 2019-09-09 20:18 Alan6