最近在工作中遇到了部分文档存储的场景,于是了解了目前比较通用的文档存储的NoSQL解决方案,因此从通用性上对mongodb进行学习,并记录学习中查阅的资料,以及遇到的问题,用于后来参考。 本地环境与mongo版本 由于我的电脑是一个笔记本电脑,并且年代已经久远了,尝试了一番5.0版本后,遇到了很多问题,因此目前主要版本如下: 系统为ubuntu v18.04版本 mongodb选择为v4.2.15版本 安装步骤 安装步骤主要来自于mongodb官方文档, 目前主要采用的安装方式为.tgz压缩包的方式,因为我觉得采用…

8月 28, 2021 0条评论 423点热度 0人点赞 阅读全文

Eureka Server本身在做服务注册时,客户端是否下线,是通过客户端向服务端发送心跳信息, 服务端一次来保证客户端处于UP状态。同时当客户端心跳发送失败时,这是服务端将通过自身的剔除策略,将处于DOWN状态下的服务从Registry中进行移除,保证服务可用性。 策略如何启用? 前面章节中,服务的启动过程中详细阐述了EurekaServer的启用过程, 其中有介绍到, 当EurekaServerBootstrap在执行initilize方法时,会启动evict定时任务,执行服务剔除操作,具体代码如下: prot…

8月 21, 2021 0条评论 336点热度 0人点赞 阅读全文

通过前面章节的介绍, 可以明确知道在InstanceRegistry初始化的时候, 会初始化ResponseCacheImpl的类,而这个类就是对于三级缓存的重要实现. 这章节主要介绍三级缓存的工作原理,以代码的形式明确三级缓存的实现。 三级缓存工作模式 缓存初始化 缓存对象初始化中, 对缓存初始化,具体源码如下: ResponseCacheImpl(EurekaServerConfig serverConfig, ServerCodecs serverCodecs, AbstractInstanceRegistr…

8月 18, 2021 0条评论 395点热度 0人点赞 阅读全文

在前面的文章中,介绍了Eureka Server的启动流程,以及启动过程中执行的操作信息。本章将会介绍服务注册相关的实现。服务注册中主要介绍Instance信息通过register的方式保存到Registry的业务逻辑,以及如何实现数据同步。 数据初始化 在spring cloud 服务注册之Eureka Server(二) – 启动过程章节中,介绍到Eureka Server启动过程中, 会从其他的Peer Nodes上同步Applications列表,并保存到当前的服务Registry服务中, 具体代码如下: …

8月 16, 2021 0条评论 390点热度 0人点赞 阅读全文

在Eureka Server自动装配文章中,介绍了Eureka相关的启动组件,这篇文章主要介绍在启动过程中,各组件都是如何工作的。 InstanceRegistry 从类型命名可以知道,该类型主要用于Instance信息注册实现,用于保存Eureka Client注册上来的基本信息。我们可以查看下InstanceRegistry的实现结构. InstanceRegistry中实现了PeerAwareInstanceRegistryImpl的实现,创建实例的源码如下: public InstanceRegistry(…

8月 15, 2021 0条评论 425点热度 0人点赞 阅读全文

在微服务开发过程中,始终少不了注册中心的存在,注册中心提供了服务的注册与发现机制,能够不需要代码改动,实现服务的横向扩展,同时也为微服务之间的调用解耦,避免了服务调用之间的高度依赖。本文主要从源码的角度出发,对spring-cloud-netflex-eureka-server中的源码进行解读,学习eureka中服务注册实现逻辑. 启动EurekaServer 完整的demo可以通过spring-cloud-learn项目查看 import org.springframework.boot.SpringApplic…

8月 15, 2021 0条评论 391点热度 0人点赞 阅读全文