-
微服务架构核心技术十三
集中式配置中心的作用和原理是什么? 简介: 一般普通开发下,我们都把程序配置设置保存在json或者xml文件中,然后程序中读取,来解耦(no hard coding).而传统的配置文件方式无法满足开发人员对于程序的动态更改(配置格式不标准、不统一,修改配置需要重新发布应用,不能动态调整),因此需要一个配置中心来管理配置文件 微服务建议用集中式配置中心,推荐携程开源的apollo,自带完善的配置管理…- 4
- 0
-
ASP.NET Core微服务实战系列
希望给你3-5分钟的碎片化学习,可能是坐地铁、等公交,积少成多,水滴石穿,码字辛苦,如果你吃了蛋觉得味道不错,希望点个赞,谢谢关注。 前言 这里记录的是个人奋斗和成长的地方,该篇只是一个系列目录和构想,并没有完全真正开弓。之所以有这个题目,是因为.NET Core在国内的学习资源七零八落,偶尔园里也有零星好文出现,但是系统性的,带深入浅出实战风格的专题介绍目前没有看到,之前特定整理了一个资源分享,…- 34
- 0
-
ASP.NET Core微服务之基于Ocelot实现API网关服务(1)
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一、啥是API网关? API 网关一般放到微服务的最前端,并且要让API 网关变成由应用所发起的每个请求的入口。这样就可以明显的简化客户端实现和微服务应用程序之间的沟通方式。以前的话,客户端不得不去请求微服务A(假设为Customers),然后再到微服务B(假设为Orders),然后是微服务C(假设为Invoices)。客户端需要去知道…- 11
- 0
-
Spring Cloud构建微服务架构:Hystrix监控面板【Dalston版】
在上一篇《服务容错保护(hystrix断路器)》的介绍中,我们提到断路器是根据一段时间窗内的请求情况来判断并操作断路器的打开和关闭状态的。而这些请求情况的指标信息都是由HystrixCommand和HystrixObservableCommand实例在执行过程中记录的重要度量信息,它们除了Hystrix断路器实现中使用之外,对于系统运维也有非常大的帮助。这些指标信息会以“滚动时间窗”与“桶”结合的…- 8
- 0
-
Netty源码分析第8章(高性能工具类FastThreadLocal和Recycler)—->第3节: recycler的使用和创建…
Netty源码分析第8章(高性能工具类FastThreadLocal和Recycler)---->第3节: recycler的使用和创建 Netty源码分析第八章: 高性能工具类FastThreadLocal和Recycler 第三节: recycler的使用和创建 ** ** 这一小节开始学习 recycler相关的知识 , recycler是 netty实现的一个轻量级对象回收站…- 6
- 0
-
Netty源码分析第5章(ByteBuf)—->第1节: AbstractByteBuf
Netty源码分析第五章: ByteBuf 概述: 熟悉Nio的小伙伴应该对jdk底层byteBuffer不会陌生, 也就是字节缓冲区, 主要用于对网络底层io进行读写, 当channel中有数据时, 将channel中的数据读取到字节缓冲区, 当要往对方写数据的时候, 将字节缓冲区的数据写到channel中 但是jdk的byteBuffer是使用起来有诸多…- 4
- 0
-
Netty源码分析第2章(NioEventLoop)—->第5节: 优化selector
Netty源码分析第二章: NioEventLoop ** ** 第五节: 优化selector 在剖析selector轮询之前, 我们先讲解一下selector的创建过程 回顾之前的小节, 在创建NioEventLoop中初始化了唯一绑定的selector: 1NioEventLoop(NioEventLoopGroup parent, Executor executor, Select…- 1
- 0
-
Netty源码分析第1章(Netty启动流程)—->第4节: 注册多路复用
Netty源码分析第一章:Netty启动流程 ** ** 第四节:注册多路复用 回顾下以上的小节 , 我们知道了 channel 的的创建和初始化过程 , 那么 channel 是如何注册到 selector 中的呢 ? 我们继续分析 回到上一小节的代码 : 1final ChannelFuture initAndRegister() { 2 Channel channel = null;…- 5
- 0
-
Mina、Netty、Twisted一起学(八):HTTP服务器
HTTP协议应该是目前使用最多的应用层协议了,用浏览器打开一个网站就是使用HTTP协议进行数据传输。 HTTP协议也是基于TCP协议,所以也有服务器和客户端。HTTP客户端一般是浏览器,当然还有可能是其他东西。HTTP服务器,也就是Web服务器,目前已经有很多成熟的产品,例如Apache HTTP Server、Tomcat、Nginx、IIS等。 本文的内容不是讲解如何使用以上的HTTP服务器,…- 4
- 0
-
Java NIO框架Netty教程 (十) Object对象编/解码
看到题目,有的同学可能会想,上回不是说过对象传递了吗?是的,只是在Java NIO框架Netty教程(八) Object对象传递中,我们只是介绍如何使用Netty提供的编/解码工具,完成对象的序列化。这节是想告诉你Netty具体是怎么做的,也许有的同学想自己完成序列化呢?况且,对象的序列化,随处可用:) 先看怎么编码。 view sourceprint? @Override protected O…- 4
- 0
-
用Netty实现的简单HTTP服务器
用Netty实现的一个简单的HTTP服务器,可以处理静态文件,例子中的注释也比较全。主要是对HTTP的理解,接下来的文章中我也会更新一些HTTP相关的文章以及对例子的进一步完善,由浅到深,记录一些我的学习过程! 1.Server 2.Pipeline 3.handler类 4.配置类- 8
- 0
-
RabbitMQ VS Apache Kafka (九)—— RabbitMQ集群的分区容错性与高可用性
本章,我们讨论有关RabbitMQ的容错性,消息一致性及高可用性。RabbitMQ可以作为集群节点来运行,因此RabbitMQ通常被归为分布式消息系统,对于分布式消息系统,我们的关注点通常是一致性与可用性。 我们为什么要讨论分布式系统的一致性与可用性,本质在于两者描述的是系统在失败的情况下表现如何。在实际应用中,网络连接失败、服务器宕机,硬盘损坏,服务器由于GC暂时不可用,网络连接丢失或速度慢,所…- 3
- 0
-
Kafka实战(五) – Kafka的秘技"坂本"之争
只有顺应版本,才能成就王者不败神话 也是能否用好Kafka的关键。 不论是哪种Kafka,本质上都基于core Apache Kafka 那就来说说Apache Kafka版本号的问题 1 缘何"在乎"你这版本号 直接使用最新版本不就好了吗? 当然了!这的确是一种有效策略,这种策略并非在任何场景下都适用 如果不了解各个版本之间的差异和功能变化,怎么能够准确地评判某Kafka版本…- 24
- 0
-
RabbitMQ VS Apache Kafka (五)—— RabbitMQ路由拓扑与消息模式
本章我们讨论RabbitMQ的消息模式与路由拓扑,主要涉及以下知识点: 交换器类型与绑定关系 消息队列 死信交换器 即时交换器与队列 备用交换器 优先级队列 交换器类型 1. 扇出交换器 扇出交换器提供了典型的发布订阅消息拓扑,发送到扇出交换器中的消息将会广播路由到所有绑定到当前交换器上的所有消息队列和交换器中。 在扇出交换器中,消费者彼此间相互独立,彼此收到的也只是消息的拷贝。如果需要对Cons…- 11
- 0
-
Kafka 中使用 Avro 序列化框架(一):使用传统的 avro API 自定义序列化类和反序列化类
关于 avro 的 maven 工程的搭建以及 avro 的入门知识,可以参考: Apache Avro 入门 1. 定义 schema 文件,并编译 maven 工程生成实体类 schema 文件名称为:stock.avsc,内容如下: 1 2{ 3 "namespace": "com.bonc.rdpe.kafka110.beans", 4 "…- 9
- 0
-
如何收集项目日志统一发送到kafka中?
如何在普通应用程序实时收集日志 所谓的普通程序就是web项目的或者非web项目的的程序,大部分都是单机版本的。 大多数时候,我们的log都会输出到本地的磁盘上,排查问题也是使用Linux命令来搞定,如果web程序组成负载集群,那么就有多台机器,如果有几十台机器,几十个服务,那么想快速定位log问题和排查就比较麻烦了,所以很有必要有一个统一的平台管理log,现在大多数公司的套路都是收集重要应用的lo…- 11
- 0
-
使用Log4j将程序日志实时写入Kafka
第一部分 搭建Kafka环境 安装Kafka 下载:http://kafka.apache.org/downloads.html 1tar zxf kafka-<VERSION>.tgz 2cd kafka-<VERSION> 3 启动Zookeeper 启动Zookeeper前需要配置一下config/zookeeper.properties: 接下来启动Zookeep…- 16
- 0
-
Java使用RabbitMQ(一)–基本用法
关于java使用rabbitMq的基本用法 创建连接 1 2 public static ConnectionFactory factory; 3 public static Connection getConnection(String username,String password,String host,int port,String virtualhost) { 4 if (factor…- 2
- 0
-
学会查看 RabbitMQ日志
如果在使用RabbitMQ的过程中出现了异常情况,通过翻阅RabbitMQ的服务日志可以让你在处理异常的过程中事半功倍。RabbitMQ日志中会有明确的事件日期、事件内容以及事件等级等。RabbitMQ的日志默认存放在$RABBITMQ_HOME/var/log/rabbitmq目录下。本问主要从RabbitMQ服务开启、RabbitMQ服务关闭以及RabbitMQ集群搭建的角度来举例说明Rabb…- 26
- 0
-
.Net下RabbitMQ的使用(4) — 订阅和发布
消息的订阅和发布是使用消息队列的常用场景。在上一篇文章中,虽然有多个消费者,但是一个消息只会有一个消费者来处理。而订阅和发布则是每个订阅该消息的消费者都会收到这个消息。RabbitMQ的路由机制让我们实现这个功能轻而易举。 要了解RabbitMQ的路由机制,exchange是一个关键。exchange可以叫做交换机,也似乎可以叫做路由器,反正它是用来选择路由的。前文说到,RabbitMQ的核心…- 21
- 0
-
RabbitMQ使用详解
刚刚用了,记录下来,以后忘了,方便能够快速想起来。 首先说明,由于RabbitMQ服务端非JAVA,C++语言,当然也就看不懂,所以本文的理解都是过于主观的。 一,RabbitMQ服务端搭建 推荐最好的安装方式:去官网,去官网,去官网,重要的事情说三遍。 我一般的操作流程是:用google右上角翻译网页,然后看个大概意思,然后再显示原网页,一个单词单词的看。 还是总结一下Ubuntu,Rabbit…- 25
- 0
-
Centos7 安装rabbitMQ
RabbitMQ的基本原理 首先需要安装erlang,根据rabbitMQ的版本不同安装的erlang版本也不一样: erlang与rabbitMQ版本关系 我的系统是centos7 、Erlang 20.x rabbitMQ 3.6.11. 第一步添加yum源 1# vi /etc/yum.repos.d/rabbitmq-erlang.repo 2 3 1添加如下内容: 2[rabbitmq-…- 8
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!














