Eureka服务发现框架
Eureka是一个服务发现框架,由Netflix开发,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。12
Eureka是Spring Cloud Netflix的一个子模块,也是核心模块之一。它是一个基于REST的服务,用于实现云端中间层服务发现和故障转移。在微服务架构、容器化应用以及云原生应用中,Eureka可以帮助管理大量的服务实例,并提供服务发现和负载均衡功能。
Eureka包含两个主要组件:Eureka Server和Eureka Client。Eureka Server提供服务注册服务,各个节点启动后会在Eureka Server中进行注册,这样Eureka Server中的服务注册表中将会存储所有可用服务节点的信息。Eureka Client是一个java客户端,用于简化与Eureka Server的交互,客户端同时也就是一个内置的、使用轮询(round-robin)负载算法的负载均衡器。在应用启动后,Eureka Client会向Eureka Server发送心跳,默认周期为30秒。如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,则该节点会被剔除注册表。
此外,Eureka还具有高可用性、自我保护模式等核心功能和特性,能够提供高可用性的服务注册和发现机制,并且在网络故障或频繁的启动关闭客户端的情况下,Eureka Server会自动进入自我保护模式。
SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。
- Register(服务注册):把自己的IP和端口注册给Eureka。
- Renew(服务续约):发送心跳包,每30秒发送一次。告诉Eureka自己还活着。
- Cancel(服务下线):当provider关闭时会向Eureka发送消息,把自己从服务列表中删除。防止consumer调用到不存在的服务。
- Get Registry(获取服务注册列表):获取其他服务列表。
- Replicate(集群中数据同步):eureka集群中的数据复制与同步。
- Make Remote Call(远程调用):完成服务的远程调用。
【Eureka】Eureka介绍与使用详解,超全!!!-CSDN博客
springcloud项目_threadutil 依赖-CSDN博客
单例模式(饿汉式、懒汉式)详解_单例模式懒汉和饿汉-CSDN博客
https://blog.csdn.net/m0_73414822/article/details/135205897
MYSQL
【Linux】【服务器】 CentOS7下安装MySQL(版本8.0)详细过程步骤_centos安装了mysql版本-CSDN博客
在Centos7环境安装MySQL超详细教程_Mysql_脚本之家
https://www.51cto.com/article/741252.html
CentOs 7 mysql安装后查看默认密码-CSDN博客
MAVEN
MAVEN的父模块统一管理依赖,最顶层管理所有module的依赖;
MAVEN的依赖冲突处理原则是短路优先和声明顺序优先;
mvn clean package -U -pl ad-eureka -am
SRPING
ServletContext 和WebSocket
ServletContext和WebSocket是两种不同的技术,用于不同的目的。 ServletContext是Servlet规范中的一部分,是一个接口,用于在Web应用程序中提供一个全局的存储空间,所有Servlet和JSP都可以共享这个空间。WebSocket则是一种在单个TCP连接上进行全双工通讯的协议,通常用于实现实时通信功能。
ServletContext的特点和用途包括:
- 全局存储空间:ServletContext在服务器启动时创建,服务器关闭时销毁。它是所有Servlet和JSP共享的一个全局存储空间,可以用于存储应用程序级别的数据12。
- 应用域:ServletContext也被称为应用域,通常用于存放所有用户共享的数据,但这些数据一般是只读的,以避免并发问题2。
- 通讯方式:由于所有Servlet共享同一个ServletContext对象,因此可以通过这个对象实现Servlet之间的通讯34。
WebSocket的特点和用途包括:
- 实时通信:WebSocket协议允许服务器和客户端之间建立持久的连接,实现双向通信。这对于需要实时数据交换的应用非常有用,如在线游戏、聊天应用等56。
- 全双工通信:与HTTP的不同之处在于,WebSocket支持全双工通信,即服务器和客户端都可以主动发送消息56。
- 降低开销:相比于轮询等传统方式,WebSocket可以显著减少通信开销,因为它是在单个连接上进行数据交换,而不是每个请求都建立新的连接56。
总结来说,ServletContext和WebSocket虽然都用于Web开发,但它们的目标和用途不同。ServletContext主要用于提供全局存储空间和实现组件间的通讯,而WebSocket则用于实现实时、双向的通信功能。