Oracle转让Java,各种动态语言的曝光率上升,Java工程师的未来在哪里?我觉得Spring Cloud让未来有无限可能。拖了半年之久的Spring Cloud学习就从今天开始了。中文教材不多,而且大多都是简单的离散的信息,想要找到企业级的一体化解决方案很少。不过,对于入门来说,简单就够了,等到用的时候自然而然的汇总起来。
目标是把springcloud的子项目过一遍。
Component Edgware.SR2 Finchley.M7 Finchley.BUILD-SNAPSHOTspring-cloud-aws 1.2.2.RELEASE 2.0.0.M4 2.0.0.BUILD-SNAPSHOT
spring-cloud-bus 1.3.2.RELEASE 2.0.0.M6 2.0.0.BUILD-SNAPSHOT
spring-cloud-cli 1.4.1.RELEASE 2.0.0.M1 2.0.0.BUILD-SNAPSHOT
spring-cloud-commons 1.3.2.RELEASE 2.0.0.M7 2.0.0.BUILD-SNAPSHOT
spring-cloud-contract 1.2.3.RELEASE 2.0.0.M7 2.0.0.BUILD-SNAPSHOT
spring-cloud-config 1.4.2.RELEASE 2.0.0.M7 2.0.0.BUILD-SNAPSHOT
spring-cloud-netflix 1.4.3.RELEASE 2.0.0.M7 2.0.0.BUILD-SNAPSHOT
spring-cloud-security 1.2.2.RELEASE 2.0.0.M2 2.0.0.BUILD-SNAPSHOT
spring-cloud-cloudfoundry 1.1.1.RELEASE 2.0.0.M3 2.0.0.BUILD-SNAPSHOT
spring-cloud-consul 1.3.2.RELEASE 2.0.0.M6 2.0.0.BUILD-SNAPSHOT
spring-cloud-sleuth 1.3.2.RELEASE 2.0.0.M7 2.0.0.BUILD-SNAPSHOT
spring-cloud-stream Ditmars.SR3 Elmhurst.RC1 Elmhurst.BUILD-SNAPSHOT
spring-cloud-zookeeper 1.2.0.RELEASE 2.0.0.M6 2.0.0.BUILD-SNAPSHOT
spring-boot 1.5.10.RELEASE 2.0.0.RC2 2.0.0.BUILD-SNAPSHOT
spring-cloud-task 1.2.2.RELEASE 2.0.0.M3 2.0.0.RELEASE
spring-cloud-vault 1.1.0.RELEASE 2.0.0.M6 2.0.0.BUILD-SNAPSHOT
spring-cloud-gateway 1.0.1.RELEASE 2.0.0.M7 2.0.0.BUILD-SNAPSHOT
spring-cloud-openfeign 2.0.0.M1 2.0.0.BUILD-SNAPSHOT
本次学习服务注册与发现, Eureka。
Eureka介绍Eureka是一个基于REST(Representational State Transfer)的服务,主要用于AWS cloud, 提供服务定位(locating services)、负载均衡(load balancing)、故障转移(failover of middle-tier servers)。我们把它叫做Eureka Server. Eureka也提供了基于Java的客户端组件,Eureka Client,内置的负载均衡器可以实现基本的round-robin负载均衡能力。在Netflix,一个基于Eureka的更复杂的负载均衡器针对多种因素(如流量、资源利用率、错误状态等)提供加权负载均衡,以实现高可用(superior resiliency).
为什么需要Eureka在AWS Cloud,由于其天生的特性,服务器经常变换。我们知道每个EC2挂掉后,重启又是一个新的。不像传统的固定IP,AWS的服务器是变化的。因此需要更复杂的负载均衡方案来动态注册和注销。由于AWS并没有提供中间层负载均衡解决方案,Eureka填补了这个领域的巨大空白。
Eureka和AWS ELB有什么不同AWS ELB(Elastic Load Balancer)是面向最终用户Web流量的边缘服务的负载均衡解决方案。Eureka填补了对中间层负载均衡的需求。理论上,你可以把中间层服务放在AWS ELB之后,但在EC2模型中,你将会把他们直接暴露到外网,从而失去了AWS security groups的好处。(这里有疑问,我现实使用的时候ELB也有区分VPC的,所以不会暴露到外网,不知道是不是本文发布的时候AWS还没这功能,所以感觉Eureka和ELB区别不大啊)。