微服务介绍及Eureka服务注册与发现详解

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

张飞2018-5-15微服务介绍及Eureka服务注册与发现详解课程安排传统单体架构介绍及优缺点单体架构到微服务架构的改造及优缺点微服务设计原则微服务与SOA联系及区别基于Springboot从单体架构到微服务架构的改造实战演练服务注册与发现组件Eureka架构介绍Eureka在微服务中的应用为EurekaServer增加安全访问传统单体架构介绍及优缺点一个项目包(war包,归档包)包含了应用的所有功能,在没有出现微服务概念之前,基本上都是这种架构形式存在,我们一般把程序打包成一个文件后,扔到tomcat或者jetty,jboss等应用服务器中即可特点:部署很简单,符合我们的思维项目雍炯技术债务部署频率低扩展性差阻碍技术创新单体架构到微服务架构的改造及优缺点把每个独立的模块单独抽出来作为一个独立运行的服务,服务之间采用轻量级Rest方式调用微服务特点:每个小组专注于一个微型服务,致力于该服务的稳定性,可用性,服务性能,以及业务的迭代开发每个微服务可以独立运行(独立一个进程运行)多个微服务或者说一系列微服务组合起来就构建了一个或者多个独立的系统每个微服务只针对独立的业务开发基础的服务,也就是说一个微服务只关注某个特定的功能每个微服务可以使用不同的技术实现,以及每个微服务有自己独立的数据库每个微服务之间通过一些轻量的通讯机制进行通讯,例如RESTAPI更加容易部署,而且可以全自动部署单体架构到微服务架构改造问题运维要求高分布式固有的复杂性接口调用成本高微服务设计原则单一职责服务自治轻量级通讯原则接口明确原则微服务粒度服务依赖微服务与SOA联系及区别SOA(面向服务架构)是集成多个较大组件(一般是应用)的一种机制,它们将整体构成一个彼此协作的套件,是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯微服务架构中,业务逻辑被拆分成一系列小而松散耦合的分布式组件,共同构成了较大的应用,每个组件都被称为微服务微服务架构是SOA架构的子集,微服务架构的粒度更加细功能SOA微服务组件大小大块业务逻辑单独任务或小块业务逻辑耦合通常松耦合总是松耦合公司架构任何类型小型、专注于功能交叉的团队管理着重中央管理着重分散管理目标确保应用能够交互操作执行新功能,快速拓展开发团队基于Springboot的微服务架构的改造基于Springboot构建服务用户微服务订单微服务调用流程:客户端订单微服务用户微服务疑问:当用户微服务有多台实例提供高可用服务或者负载均衡服务的时候,订单微服务怎么来调用用户微服务呢?同时怎么支持服务动态水平增加或者减少呢?Nginx服务发现服务注册与发现组件Eureka架构介绍Eureka是Netflix开发的服务发现组件,本身是一个基于REST的服务。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能服务发现组件对比(CAP)ZookeeperEurekaEureka他的源码在github上面:他的文档:他的架构介绍:Highlevelarchitecture:、zone、eurekaEureka在微服务中的应用-EurekaServer加入springcloud父POM及spring-cloud-starter-eureka-serverdependencyManagementdependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversionEdgware.SR3/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagementdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-eureka-server/artifactId/dependencyEureka在微服务中的应用-EurekaServerApplication.properties:启动类增加注解@EnableEurekaServerserver.port=8761#取消向eurekaserver(注册中心)注册eureka.client.register-with-eureka=false#取消向eurekaserver(注册中心)获取注册信息eureka.client.fetch-registry=false#eureka提供服务发现的地址eureka.client.service-url.defaultZone=在微服务中的应用-用户微服务加入springcloud父POM及spring-cloud-starter-eurekadependencyManagementdependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversionEdgware.SR3/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagement!--eureka--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-eureka/artifactId/dependencyEureka在微服务中的应用-用户微服务Application.properties:启动类增加注解@EnableEurekaClienteureka.client.serviceUrl.defaultZone=@localhost:8761/eurekaeureka.instance.prefer-ip-address=trueeureka.instance.instance-id=${spring.application.name}:${spring.application.instance_id:${server.port}}Eureka在微服务中的应用-订单微服务加入springcloud父POM及spring-cloud-starter-eurekadependencyManagementdependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversionEdgware.SR3/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagement!--eureka--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-eureka/artifactId/dependencyEureka在微服务中的应用-订单微服务Application.properties:启动类增加注解@EnableEurekaClient增加负载均衡配置eureka.client.serviceUrl.defaultZone=@localhost:8761/eurekaeureka.instance.prefer-ip-address=trueeureka.instance.instance-id=${spring.application.name}:${spring.application.instance_id:${server.port}}@ConfigurationpublicclassCommonConfig{@Bean@LoadBalancedpublicRestTemplaterestTemplate(){returnnewRestTemplate();}}为EurekaServer增加安全访问EurekaServer中:pom.xmlEurekaServer中:application.propertiesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-security/artifactId/dependency#eureka提供服务发现的地址eureka.client.service-url.defaultZone=@localhost:8761/eureka#eureka.client.service-url.defaultZone=安全模块security.basic.enabled=truesecurity.user.name=zhangfeisecurity.user.password=777为EurekaServer增加安全访问用户微服务,订单微服务中:application.propertieseureka.client.serviceUrl.defaultZone=@localhost:8761/eureka

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功