Spring微服务
文章平均质量分 92
ZHONGZEWEI
是我
展开
-
kafka入门
Kafka 概 述定义Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。消息队列MQ传统应用场景之异步处理使用消息队列的好处解耦允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。可恢复性系统的一部分组件失效时,不会影响到整个系统。消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理。缓冲有助于控制和优化数据流经过系统的速度,解决生产消息和消费消息的原创 2021-05-22 21:22:31 · 267 阅读 · 2 评论 -
分布式配置中心:spring cloud config
分布式配置中心:spring cloud config前言 Spring Cloud Config是Spring Cloud团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持的,它分为服务端与客户端两个部分。其中服务端也成为分布式配置中心,它是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息、加密/解密信息等访问接口;而客户端则是微服务架构中的各个微服务应用或基础设施,它们通过指定的配置中心来管理应用资源与业务相关的配置内容,并在启动的时候从原创 2020-09-16 00:49:17 · 320 阅读 · 0 评论 -
API网关服务:Spring Cloud Zuul
API网关服务:Spring Cloud Zuul简介有前几章的介绍,我们对于Spring Cloud Netflix下的核心组件已经了解了一大半。这些组件基本涵盖了微服务架构中最为基础的几个核心设施,利用这些组件我们已经可以构建起一个简单的微服务架构系统,比如,通过使用Spring Cloud Eureka实现高可用的服务注册中心以及实现微服务的注册与发现;通过Spring Cloud Ribbon或Feign实现服务间负载均衡的接口调用;同时,为了使分布式系统更为健壮,对于依赖的服务调用使用Spri原创 2020-09-16 00:48:21 · 455 阅读 · 0 评论 -
声明式服务调用SpringCloud Feign
声明式服务调用SpringCloud Feign前面使用了Ribbon做客户端负载均衡,使用Hystrix做容错保护,这两者被作为基础工具类框架被广泛地应用在各个微服务的实现中。SpringCloudFeign是将两者做了更高层次的封装以简化开发。它基于Netfix Feign实现,整合了SpringCloudRibbon和SpringCloudHystrix,除了提供这两者的强大功能外,还提供了一种声明是的Web服务客户端定义的方式。SpringCloudFeign在NetFixFeign的基础上扩展了原创 2020-09-16 00:47:18 · 134 阅读 · 0 评论 -
服务容错保护:Spring Cloud Hystrix
服务容错保护:Spring Cloud Hystrix 在微服务架构中,我们将系统拆分为很多个服务,各个服务之间通过注册与订阅的方式相互依赖,由于各个服务都是在各自的进程中运行,就有可能由于网络原因或者服务自身的问题导致调用故障或延迟,随着服务的积压,可能会导致服务崩溃。为了解决这一系列的问题,断路器等一系列服务保护机制出现了。断路器本身是一种开关保护机制,用于在电路上保护线路过载,当线路中有电器发生短路时,断路器能够及时切断故障电路,防止发生过载、发热甚至起火等严重后果。在分布式架构中原创 2020-09-16 00:45:59 · 330 阅读 · 0 评论 -
客户端负载均衡:Spring Cloud Ribbon
客户端负载均衡:Spring Cloud Ribbon简介Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面对服务的REST模块请求自动转换成客户端负载均衡的服务调用。虽然Ribbon只是一个工具类框架,它不像服务注册中心、配置中心、API网关那样需要独立部署,但是Spring Cloud Ribbon几乎存在于每一个Spring Cloud构建的微服务和基础设施中。原创 2020-09-16 00:38:57 · 143 阅读 · 0 评论 -
服务治理:Spring cloud eureka
服务治理:Spring cloud eurekaspring cloud eureka是spring cloud netfix微服务套件中的一部分,它基于netfix eureka做了二次封装,主要负责完成服务架构中的服务治理功能。核心内容包括:构建服务注册中心服务注册和服务发现eureka的基础架构eureka的服务治理机制eureka的配置服务治理服务治理可以说是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册和发现。在最初开始构建微服务系统的时候可能服务原创 2020-09-16 00:36:53 · 236 阅读 · 0 评论 -
微服务构建:Spring Boot
微服务构建:Spring Boot框架简介Spring Boot的出现改善了配置文件繁琐的问题,spring boot的宗旨并非重写spring或者是替代spring,而是希望通过设计大量的自动化配置等方式来简化spring原有的样板化的配置,使得开发可以快速构建应用。spring boot还通过一系列的starter POMS的定义,让我们整合各项功能的时候,不需要在maven 的pom.xml中维护那些错综复杂的依赖关系,而是通过类似模块化的starter模块定义来引用,使得依赖管理工作更为简单。原创 2020-09-16 00:29:53 · 197 阅读 · 0 评论 -
RocketMQ架构讲解与源码分析
1. 高级功能1.1 消息存储分布式队列因为有高可靠性的要求,所以数据要进行持久化存储。消息生成者发送消息MQ收到消息,将消息进行持久化,在存储中新增一条记录返回ACK给生产者MQ push 消息给对应的消费者,然后等待消费者返回ACK如果消息消费者在指定时间内成功返回ack,那么MQ认为消息消费成功,在存储中删除消息,即执行第6步;如果MQ在指定时间内没有收到ACK,则认为消息消费失败,会尝试重新push消息,重复执行4、5、6步骤MQ删除消息1.1.1 存储介质关系型数据库D原创 2020-07-22 12:47:16 · 452 阅读 · 0 评论 -
RocketMQ部署与入门使用
1. MQ介绍1.1 为什么要用MQ消息队列是一种“先进先出”的数据结构其应用场景主要包含以下3个方面应用解耦系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障或者因为升级等原因暂时不可用,都会造成下单操作异常,影响用户使用体验。使用消息队列解耦合,系统的耦合性就会提高了。比如物流系统发生故障,需要几分钟才能来修复,在这段时间内,物流系统要处理的数据被缓存到消息队列中,用户的下单操作正常完成。当物流系统回复后,原创 2020-07-22 12:16:26 · 618 阅读 · 0 评论 -
Sentinel-dashboard、客户端接入使用入门
Sentinel 控制台安装下载sentinel-dashboard.jar包https://github.com/alibaba/Sentinel/releases运行jar包我特意指定了端口是18080,同时不让sentinel-dashboard监控自己nohup java -Dserver.port=18080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.7.2.jar > log.file 2>原创 2020-07-21 16:25:40 · 6793 阅读 · 2 评论 -
Dubbo使用、Dubbo-Admin安装
搭建zookeeper参考以下链接https://blog.csdn.net/ZHONGZEWEI/article/details/107010354下载官方代码例子https://github.com/apache/dubbo/releases本地IDE 编译源码maven install之前,注意在IDE先指定maven地址和配置文件然后开始编译项目找一个例子试试启动生产者修改生产者代码连接zookeeper可能会超时,我们人为指定timeout为25秒启动Appl原创 2020-07-20 22:06:35 · 129 阅读 · 0 评论 -
SpringBoot基础
1、SpringBoot简介1.1 原有Spring优缺点分析1.1.1 Spring的优点分析Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java对象(Plai...原创 2020-02-21 17:23:21 · 208 阅读 · 0 评论