随笔分类 - 微服务专题
微服务相关组件
摘要:SpringBoot中的自动装载 (1)ImportSelector ImportSelector接口是Spring导入外部配置的核心接口,在SpringBoot的自动化配置和@EnableXXX(功能性注解)中起到了决定性的作用。当在@Confifiguration标注的Class上使用@Impo
阅读全文
摘要:服务注册慢 默认情况下,服务注册到Eureka Server的过程较慢。SpringCloud官方文档中给出了详细的原因 大致含义:服务的注册涉及到心跳,默认心跳间隔为30s。在实例、服务器、客户端都在本地缓存中具有相同的元数据之前,服务不可用于客户端发现(所以可能需要3次心跳)。可以通过配置eur
阅读全文
摘要:在上一个章节,实现了单节点的Eureka Server的服务注册与服务发现功能。Eureka Client会定时连接Eureka Server,获取注册表中的信息并缓存到本地。微服务在消费远程API时总是使用本地缓存中的数据。因此一般来说,即使Eureka Server发生宕机,也不会影响到服务之间
阅读全文
摘要:Eureka中的自我保护 微服务第一次注册成功之后,每30秒会发送一次心跳将服务的实例信息注册到注册中心。通知 EurekaServer 该实例仍然存在。如果超过90秒没有发送更新,则服务器将从注册信息中将此服务移除。Eureka Server在运行期间,会统计心跳失败的比例在15分钟之内是否低于8
阅读全文
摘要:商品服务注册 (1) 商品模块中引入坐标 在 shop_service_product 的pom文件中添加eureka client的相关坐标 <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <arti
阅读全文
摘要:搭建Eureka服务中心 (1) 创建shop_eureka_server子模块 在 shop_parent 下创建子模块 shop_eureka_server (2) 引入maven坐标 <dependency> <groupId>org.springframework.cloud</groupI
阅读全文
摘要:Eureka的基础知识 Eureka是Netflflix开发的服务发现框架,SpringCloud将它集成在自己的子项目spring-cloud-netflflix中, 实现SpringCloud的服务发现功能。 上图简要描述了Eureka的基本架构,由3个角色组成: 1、Eureka Server
阅读全文
摘要:注册中心可以说是微服务架构中的”通讯录“,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就这里找到服务的地址,进行调用。 注册中心的主要作用 服务注册中心(下称注册中心)是微服务架构非常重要的一个组件,在微服务架构里主要起到了协调者的一个作用。注册中心
阅读全文
摘要:实体类: 在shop_service_common中创建 com.yyj.entity.Product实体类,并配置 package com.yyj.entity; import lombok.Data; import javax.persistence.Entity; import javax.p
阅读全文
摘要:使用微服务架构的分布式系统,微服务之间通过网络通信。我们通过服务提供者与服务消费者来描述微服务间的调用关系。 服务提供者:服务的被调用方,提供调用接口的一方 服务消费者:服务的调用方,依赖于其他服务的一方 我们以电商系统中常见的用户下单为例,用户向订单微服务发起一个购买的请求。在进行保存订单之前需要
阅读全文
摘要:SpringCloud中的核心组件 Spring Cloud的本质是在 Spring Boot 的基础上,增加了一堆微服务相关的规范,并对应用上下文(Application Context)进行了功能增强。既然 Spring Cloud 是规范,那么就需要去实现,目前Spring Cloud 规范已
阅读全文
摘要:服务注册与发现 服务注册:服务实例将自身服务信息注册到注册中心。这部分服务信息包括服务所在主机IP和提供服务的Port,以及暴露服务自身状态以及访问协议等信息。 服务发现:服务实例请求注册中心获取所依赖服务信息。服务实例通过注册中心,获取到注册到其中的服务实例的信息,通过这些信息去请求它们提供的服务
阅读全文
摘要:SpringCloud Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud
阅读全文
摘要:分布式中的远程调用 在微服务架构中,通常存在多个服务之间的远程调用的需求。远程调用通常包含两个部分:序列化和通信协议。常见的序列化协议包括json、xml、hession、protobuf、thrift、text、bytes等,目前主流的远程调用技术有基于HTTP的RESTful接口以及基于TCP的
阅读全文
摘要:系统架构的演变 随着互联网的发展,网站应用的规模不断扩大,常规的应用架构已无法应对,分布式服务架构以及微服务架构势在必行,亟需一个治理系统确保架构有条不紊的演进。 单体应用架构 Web应用程序发展的早期,大部分web工程(包含前端页面,web层代码,service层代码,dao层代码)是将所有的功能
阅读全文
摘要:第一章: 微服务基础知识 01 系统的架构演变 02 分布式核心知识 03 常见微服务框架 第二章: Spring Cloud概述 01 微服务相关概念 02 Spring Cloud架构体系 第三章: 基础案例搭建 01 基础环境准备 02 微服务的实现 第四章: 服务注册Eureka基础 01
阅读全文