青云博客 分享、记录

你对微服务是怎么理解的

微服务是一种架构思想,它将应用程序拆分为一系列小型、独立的服务,每个服务负责处理一项特定业务功能。这种架构风格的特点是服务之间松散耦合、独立部署和运行。微服务架构使得开发人员可以更加专注于单个服务的开发与测试,降低了系统的复杂性,提高了系统的可维护性和可扩展性。同时,每个服务可以根据具体的业务需求选

詹学伟 发布于 2024-04-23

说下Hystrix与Sentinel的区别

Hystrix和Sentinel都是服务熔断器,用于提高分布式系统的弹性。它们的主要区别在于实现方式、适用场景和资源模型设计。 Hystrix基于命令模式设计,将外部资源的调用封装在命令对象中,通过线程池或信号量来实现隔离。它提供了丰富的配置选项,如线程池大小、超时时间等,以实现对系统资源的有力控制

詹学伟 发布于 2024-04-23

单体应用、SOA 和微服务架构有什么区别

单体应用、SOA和微服务架构都是不同的架构风格,适用于不同的情况。 单体应用像一个整体,所有的功能都打包在一个应用中。这种架构风格容易部署和测试,但随着系统规模的扩大,它的灵活性和可维护性会降低。 SOA是一种面向服务的架构风格,将系统划分为多个独立的服务。这些服务可以通过网络调用,并且可以跨平台、

詹学伟 发布于 2024-04-23

Nacos、Eureka、Zookeeper注册中心的区别

Nacos、Eureka和Zookeeper都是常用的注册中心,它们在功能和实现方式上存在一些不同。 Nacos除了作为注册中心外,还提供了配置管理、服务发现和事件通知等功能。Nacos默认情况下采用AP架构保证服务可用性,CP架构底层采用Raft协议保证数据的一致性。Nacos适合作为微服务注册中

詹学伟 发布于 2024-04-23

Nacos中的Namespace是什么?如何使用它来组织和管理微服务

Nacos中的Namespace是用于隔离不同环境或应用之间的配置和服务信息的概念。通过使用Namespace,可以将不同的环境(例如开发、测试和生产)或不同的应用程序(例如Web应用和移动应用)的配置和服务信息分离开来,以避免冲突和错误。 在Nacos中,每个Namespace都有自己独立的配置和

詹学伟 发布于 2024-04-23

Nacos的服务注册表结构是怎样的?

Nacos采用了数据的分级存储模型,最外层是Namespace,用来隔离环境。然后是Group,用来对服务分组。接下来就是服务(Service)了,一个服务包含多个实例,但是可能处于不同机房,因此Service下有多个集群(Cluster),Cluster下是不同的实例(Instance)。 对应到

詹学伟 发布于 2024-04-23

说下你对DDD的理解

领域驱动设计(DDD)是一种软件开发方法,旨在帮助开发人员更好地理解和设计复杂的软件系统。它的主要目的是让开发人员和领域专家能够更好地协作,以满足业务需求。 DDD的关键概念包括领域模型和限界上下文。领域模型描述了业务领域的规则和逻辑,让开发人员更好地理解业务需求;限界上下文则定义了一个特定的业务领

詹学伟 发布于 2024-04-23

谈谈Ribbon和Feign区别

在分布式系统的微服务构建中,Ribbon和Feign都是Netflix开发的Java库。 Ribbon是一个客户端负载均衡器,作用在于多个微服务实例间分发请求,提升可用性和性能。它可与各种HTTP客户端如RestTemplate配合使用来发送HTTP请求并进行负载均衡。 Feign则是一个声明式的H

詹学伟 发布于 2024-04-23

什么是降级熔断?为什么要进行熔断?

熔断降级是一种分布式系统的保护机制,用于应对服务不稳定或不可用的情况。 熔断是指当某个服务的调用失败次数或异常比例达到一定阈值时,自动切断对该服务的调用,让请求快速失败,避免影响其他服务而导致雪崩效应。熔断后,一段时间内不再调用该服务,直到服务恢复正常或者超过最大等待时间。 降级是指当某个服务不可用

詹学伟 发布于 2024-04-23

Sentinel 是什么?它是如何工作的?

Sentinel 是阿里巴巴开源的一款分布式服务架构的轻量级流量控制产品,它主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助您保护服务的稳定性。 Sentinel 的基本概念包括资源、规则和处理器。资源是 Sentinel 的关键概念,可以是 Java 应用程序中的任何内容,例

詹学伟 发布于 2024-04-23