-
Spring Cloud微服务技术栈(三):服务治理Spring Cloud Eureka核心元素分析
上一篇文章《Spring Cloud微服务技术栈(二):搭建高可用Eureka Server、服务注册与发现》主要是从使用的角度介绍了Spring Cloud Eureka,包括Eureka服务注册中心的搭建、多服务实例的注册以及服务的发现与消费。本文将继续深入了解Spring Cloud Eureka,将服务治理的核心元素进行简要分析,以帮助我们更加灵活地使用Spring Cloud Eurek…- 8
- 0
-
微服务架构核心技术七
简洁的服务分层方式 外部设备(PC,无线端,第三方接入)平台上. SOA分为两层,底下一层为基础服务(核心领域服务、公共服务、中间层服务),向上提供业务能力.第二层为聚合服务(适配服务、边界服务),低层服务比较通用,对不同的外部接入做一些适配、聚合裁剪工作.比如适配移动端和PC端,需要将几个服务进行聚合.这是逻辑性划分,不是物理性划分- 6
- 0
-
微服务架构核心(一)- 什么是微服务
微服务是目前互联网公司最常用的架构,与传统单体架构相比,微服务架构更加适应互联网快速、灵活的特点,接下来的系列文章我会逐一介绍微服务架构的核心知识点。 第一篇我们先来了解什么是微服务。 微服务的特点 微服务最经典的定义是Martinfowler老爷子在2014年的一篇文章中介绍的,原文如下: the microservice architectural style is an approach t…- 8
- 0
-
微服务架构核心技术十一
微服务API服务网关——开源网关Zuul doc: github Zuul spring cloud中对Zuul做了支持,感兴趣的可以去了解java spring家族 图示: servlet运行在tomcat容器中–>http请求会传递给zuulFilter Runer(管理zuul内部的所有过滤器,分为三个层次:前置路由过滤器、路由过滤器、后置路由过滤器)–>请求过来经过前置路由过滤…- 8
- 0
-
Spring Cloud构建微服务架构:消息驱动的微服务(消费组)【Dalston版】
通过之前的《消息驱动的微服务(入门)》一文,相信很多朋友已经对Spring Cloud Stream有了一个初步的认识。但是,对于《消息驱动的微服务(核心概念)》一文中提到的一些核心概念可能还有些迷糊,下面我们将详细的来学习一下这些概念。本文我们就来学习和使用一下“消费组”这一概念。 使用消费组实现消息消费的负载均衡 通常在生产环境,我们的每个服务都不会以单节点的方式运行在生产环境,当同一个服务启…- 5
- 0
-
Spring Cloud构建微服务架构:服务消费(Ribbon)【Dalston版】
通过上一篇《Spring Cloud构建微服务架构:服务消费(基础)》,我们已经学会如何通过LoadBalancerClient接口来获取某个服务的具体实例,并根据实例信息来发起服务接口消费请求。但是这样的做法需要我们手工的去编写服务选取、链接拼接等繁琐的工作,对于开发人员来说非常的不友好。所以,下来我们看看Spring Cloud中针对客户端负载均衡的工具包:Spring Cloud Ribbo…- 0
- 0
-
ASP.NET Core微服务之基于Consul实现服务治理(3)
一、示例整体架构 此示例会由一个API Gateway, 一个Consul Client以及三个Consul Server组成,有关Consul的Client和Server这两种模式的Agent的背景知识,请移步我之前的文章加以了解:《.NET Core微服务之基于Consul实现服务治理》。其中,Consul的Client和Server节点共同构成一个Data Center,而API Gatew…- 7
- 0
-
Netty源码分析第8章(高性能工具类FastThreadLocal和Recycler)—->第6节: 异线程回收对象…
Netty源码分析第8章(高性能工具类FastThreadLocal和Recycler)---->第6节: 异线程回收对象 Netty源码分析第八章: 高性能工具类FastThreadLocal和Recycler 第六节: 异线程回收对象 异线程回收对象, 就是创建对象和回收对象不在同一条线程的情况下, 对象回收的逻辑 我们之前小节简单介绍过, 异线程回收对象, 是不会放在当前线…- 1
- 0
-
Netty源码分析第4章(pipeline)—->第3节: handler的删除
Netty源码分析第四章: pipeline 第三节: handler的删除 上一小节我们学习了添加handler的逻辑操作, 这一小节我们学习删除handler的相关逻辑 如果用户在业务逻辑中进行ctx.pipeline().remove(this)这样的写法, 或者ch.pipeline().remove(new SimpleHandler())这样的写法, 则就是对han…- 4
- 0
-
Netty源码分析第2章(NioEventLoop)—->第7节: 处理IO事件
Netty源码分析第二章: NioEventLoop ** ** 第七节:处理IO事件 上一小节我们了解了执行select()操作的相关逻辑, 这一小节我们继续学习select()之后, 轮询到io事件的相关逻辑: 回到NioEventLoop的run()方法: 1protected void run() { 2 for (;;) { 3 try { 4 switch (selectS…- 9
- 0
-
Netty源码分析第2章(NioEventLoop)—->第1节: NioEventLoopGroup之创建线程执行器
Netty源码分析第二章: NioEventLoop 概述: 通过上一章的学习, 我们了解了Server启动的大致流程, 有很多组件与模块并没有细讲, 从这个章开始, 我们开始详细剖析netty的各个组件, 并结合启动流程, 将这些组件的使用场景及流程进行一个详细的说明 这一章主要学习NioEventLoop相关的知识, 何为NioEventLoop? Ni…- 6
- 0
-
Netty In Action中文版 – 第七章:编解码器Codec
Netty In Action中文版 - 第七章:编解码器Codec 本章介绍 Codec,编解码器 Decoder,解码器 Encoder,编码器 Netty提供了编解码器框架,使得编写自定义的编解码器很容易,并且也很容易重用和封装。本章讨论Netty的编解码器框架以及使用。 7.1 编解码器Codec 编写一个网络应用程序需要实现某种编解码器,编解码器的作用就是讲原始字节数据与…- 3
- 0
-
Spring-boot集成Netty做websocket服务端
2019独角兽企业重金招聘Python工程师标准>>> spring-boot-websocket-netty-server, 依赖spring-boot-parent spring-boot Netty Spring Boot: user notifications with web socket This example will shows how to send noti…- 6
- 0
-
Java NIO框架Netty教程 (八) Java NIO Selector模式
看到标题,您可能觉得,这跟Netty有什么关系呢?确实,如果你完全是使用Netty的,那么可能你可以完全不需要了解Selector。但是,不得不提的是,Netty底层关于NIO的实现也是基于Java的Selector的,是对Selector的封装。所以,我个人认为理解好Selector对于使用和理解Netty都是很多有帮助的。当然,如果您确实不关心这些,只想会用Netty就可以了。那么下文,您可以…- 1
- 0
-
Netty实现原理浅析
1、总体结构 先放上一张漂亮的Netty总体结构图,下面的内容也主要围绕该图上的一些核心功能做分析,但对如Container Integration及Security Support等高级可选功能,本文不予分析。 Netty架构分析 Netty 采用了比较典型的三层网络架构进行设计,逻辑架构图如下所示: 第一层:Reactor 通信调度层,它由一系列辅助类完成,包括 Reactor 线程 …- 23
- 0
-
ASP.NET Core微服务之基于Steeltoe使用Hystrix熔断保护与监控
Tip: 此篇已加入.NET Core微服务基础系列文章索引 => Steeltoe目录快速导航: 基于Steeltoe使用Spring Cloud Eureka 基于Steeltoe使用Spring Cloud Zuul 基于Steeltoe使用Spring Cloud Hystrix 一、关于Spring Cloud Hystrix 在微服务架构中,我们将系统拆分为很多个服务,各个服务…- 6
- 0
-
Kafka实战(七) – 优雅地部署 Kafka 集群
既然是集群,必然有多个Kafka节点,只有单节点构成的Kafka伪集群只能用于日常测试,不可能满足线上生产需求。 真正的线上环境需要考量各种因素,结合自身的业务需求而制定。看一些考虑因素(以下顺序,可是分了顺序的哦) 1 操作系统 - OS 可能你会问Kafka不是JVM上的大数据框架吗?Java又是跨平台的语言,把Kafka安装到不同的操作系统上会有什么区别吗? 区别相当大! 确实,Kafka由…- 10
- 0
-
RabbitMQ VS Apache Kafka (八)—— Kafka消息路由原语与路由保证
Kafka的路由保证主要基于以下实现: 消息持久化:一旦消息存储到主题中,则确认不会出现丢失消息的问题 消息确认:Kafka(或者是Zookeeper)与发布者、订阅者之间的消息通信 消息批量 Kafka与RabbitMQ一个最大的不同之处在于Kafka支持在消息发送和处理时批量操作。当然,RabbitMQ也可以实现类似批量的操作: 每多少条消息暂停一次直至收到所有的消息确认。 消费者设置预取阈值…- 21
- 0
-
Kafka分区分配策略(1)——RangeAssignor
引言 按照Kafka默认的消费逻辑设定,一个分区只能被同一个消费组(ConsumerGroup)内的一个消费者消费。假设目前某消费组内只有一个消费者C0,订阅了一个topic,这个topic包含7个分区,也就是说这个消费者C0订阅了7个分区,参考下图(1)。 此时消费组内又加入了一个新的消费者C1,按照既定的逻辑需要将原来消费者C0的部分分区分配给消费者C1消费,情形上图(2),消费者C0和C1各…- 10
- 0
-
Kafka和消息队列之间的超快速比较
原文:A super quick comparison between Kafka and Message Queues 作者:Hendrik Swanepoel 翻译:Vincent 译者注:本文的目的是让读者快速了解Kafka与消息队列之间的关系,告诉读者为什么会考虑使用它的原因。以下为译文。 Kafka最初是由Linkedin社区开发的一项技术。简而言之,它有点像消息队列系统,但它与消息队列…- 3
- 0
-
Kafka实战-Storm Cluster
1.概述 在《Kafka实战-实时日志统计流程》一文中,谈到了Storm的相关问题,在完成实时日志统计时,我们需要用到Storm去消费Kafka Cluster中的数据,所以,这里我单独给大家分享一篇Storm Cluster的搭建部署。以下是今天的分享目录: Storm简述 基础软件 安装部署 效果预览 下面开始今天的内容分享。 2.Storm简述 Twitter将Storm开源了,这是一个分布…- 5
- 0
-
Java使用RabbitMQ(三)–消息确认
消息确认 RabbitMQ 每将一个消息交付给一个消费者时,会立刻把这个消息标记为被删除,如果消费者在处理消息时怠机了,那么这个消息就彻底消失了,这很明显不符合我们的期望,我们希望在一个消费者怠机时,把这个消息交付给其他消费者处理。 所以 RabbitMQ 让消费者在处理完消息后,返回确认消息,告知RabbitMQ 你确实可以删除这条消息了。 也就是 channel.basicConsume(TA…- 8
- 0
-
C# 操作rabbitmq(三)
此篇介绍rabbitmq的Routing 一、 使用exchange时,会广播给所有连接的consumer,而有时候我们需要订阅消息的子集就好,例如只需要其中的一些错误信息写入到日志当中 二、 Bindings 在上一篇中我们创建了exchange和queue的绑定,其中有一个属性routingKey,该属性依赖于exchange的类型,fanout会忽略改属性。 direct类型的exchang…- 12
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!
















