0%

Netty是Trustin Lee在2004年开发的一款高性能的网络应用程序框架。相比于JDK自带的NIO,Netty做了相当多的增强,且隔离了jdk nio的实现细节,API也比较友好,还支持流量整形等高级特性。在我们常见的一些开源项目中已经普遍的应用到了Netty,比如Dubbo、Elasticsearch、Zookeeper等。

阅读全文 »

管理微服务配置

对于单体应用架构来说,会使用配置文件管理我们的配置,这就是之前项目中的application.properties或application.yml。如果需要在多环境下使用,传统的做法是复制这些文件命名为application-xxx.properties,并且在启动时配置spring.profiles.active={profile}来指定环境。

阅读全文 »

上一篇集成了ZuulGateway和Eureka并进行了测试。在实际场景中,我们肯定会有很多的微服务,而他们之间可能会存在相互调用的关系,那么,如何优雅的处理服务之间的调用问题呢?接下来就是我们要解决的。

简单的说下Feign

Feign 是一个声明式REST Web服务客户端,可以处理微服务间的Web服务调用。他是使用注解加接口的形式形成去调用服务的,相对来说不是很难,有兴趣可去官方地址了解下。这里不多介绍。

如何用

这里我们还是基于之前的Spring cloud demo去改造,老规矩先附上源码地址spring cloud demo

阅读全文 »

上一篇简单说了SpringCloud与Eureka的集成。主要解决了微服务间的服务注册及调用的问题。这一篇集成Zuul,而后结合SpringCloud、Eureka、Zuul环境下进行真实系统联调,帮助更好的对这些组件的理解。毕竟,实战才是学习最快的方法。

一、聊聊网关

上篇也提到过,微服务下,各个业务模块都被拆分成相互独立的微服务。虽然注册中心(如Eureka)解决了服务内部的注册发现、健康检查等问题。但是如何与外部服务进行通信又是一个新的问题了。

举个栗子

阅读全文 »

聊聊服务发现注册

服务多,迭代快是微服务的明显特征。那么在快速小版本迭代业务时,如果按照传统的方式发布更新服务,手动的修改一些服务与服务之间的调用关系是非常麻烦且累人的。一个典型的场景可能是,一个微服务升级迭代之后,硬件环境发生改变(IP等的变化)。传统的做法是修改与其有调用关系的微服务调用地址然后一个个重启。这显然是非常麻烦又容易出错的。而服务发现与注册就是帮你把上述一系列的工作给封装好实现自动发现注册的服务去更新。集体为所有的微服务启动时都去注册中心登记,不管是调用者还是服务提供者,都通过注册中心完成服务的发现。这样就大大提升了我们实际工作中的效率问题。

当前流行的服务发现与注册组件

阅读全文 »

说在前面

大概是三年前,因一些原因公司原项目最初为单体结构部署,所有业务模块都在一个项目里面,而后随着业务的不断膨胀以及模块之间的耦合,导致后面增加或修改一些简单业务时的成本都会变的极大。新入职的同事更是苦不堪言,学习代码的成本极高。基于这些原因,就开始了后面漫长的架构改造旅途。

这么多微服解决方案,到底选哪个?

1.介绍

file

阅读全文 »