当前位置: 首页 > news >正文

防水补漏东莞网站建设家庭网络如何做网站服务器

防水补漏东莞网站建设,家庭网络如何做网站服务器,wordpress uk,外包服务公司SpringCloud基本原理 在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。其它几章的介绍是基于Spri…

SpringCloud基本原理
在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。其它几章的介绍是基于SpringCloud基本原理的项目实现的.
1. 首先我们提供服务的SpringBoot微服务项目,在 Netflix Eureka 注册服务
2. 其它消费服务的SpringBoot微服务项目,可以在 Netflix Eureka 中订阅服务
3. 消费服务的SpringBoot微服务项目,通过 Netflix Eureka 获取服务提供者的真实地址,从而调用服
务提供者的服务。
4. 消费服务的SpringBoot微服务项目,通过 RestTemplate ,或者 Feign 调用服务提供者
5. 当服务提供者提供集群服务时,在 RestTemplate ,或者 Feign 调用服务时加入Ribbon负载均衡器 ,即可实现 RestTemplate ,或者 Feign 的负载均衡调用。
6. 不管是服务提供者,还是消费者,所有的SpringBoot微服务项目如果有共同的配置文件属性,则可以使
用SpringCloud提供的分布式配置中心 spring-cloud-config-server
7. 数不尽的SpringBoot微服务项目的URL调用和统一权限处理等将是个难题, Netflix Zuul 作为网关路由,将会很好的处理这个问题,它统一管理所有URL的路由,提供动态路由,监控,弹性,安全等的边缘服务。
8. 微服务项目中必将会遇到各种远程调用异常情况,此时我们需要 Netflix Hystrix 来完成服务降级,断路器保护等措施,以提高微服务项目的容错能力。
9. 综上,集群中各功能组件协调工作,则可以让SpringCloud架构下的项目承受更高并发量,具有更强大的容错高可用性。
********************* Eureka 注册中心 步骤: 5步************
1>创建SpringBoot项目
2>在pom.xml文件中
引入Eureka依赖 spring-cloud-starter-eureka-server
配置 SpringCloud 的子项目版本集中管理 依赖 spring-cloud-dependencies
配置 SpringCloud 官方远程仓库 https://repo.spring.io/milestone

<!-- SpringCloud Eureka 注册中心依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<!-- SpringBoot Test 测试框架 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>

3> 在项目配置文件application.yml中配置eureka注册中心配置项

server:
#项目端口号
port: 8888
eureka:
instance:
#eureka实例主机名称
hostname: localhost
client:
#关闭eureka的客户端行为:注册服务
registerWithEureka: false
#关闭eureka的客户端行为:订阅服务
fetchRegistry: false
serviceUrl:
#eureka注册中心地址
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

4>在项目入口函数上启用注册中心 @EnableEurekaServer

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@EnableEurekaServer
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}

5>启动项目,访问注册中心http://localhost:8888/

********************* Eureka 服务器提供者 步骤: 6步************
1>创建SpringBoot项目
2>在pom.xml文件中引入Eureka客户端依赖 spring-cloud-starter-eureka
配置 SpringCloud 的子项目版本集中管理 依赖 spring-cloud-dependencies
配置 SpringCloud 官方远程仓库 https://repo.spring.io/milestone

<!-- SpringCloud Eureka 客户端 依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>

3> 在项目配置文件application.yml中配置eureka

eureka:
client:
serviceUrl:
#eureka注册中心地址
defaultZone: http://localhost:8888/eureka/
server:
#项目端口号
port: 8002
spring:
application:
#服务名称,随便写
name: service-provider

4>随便写一个控制器服务

@RestController
public class UserController {
@Value("${server.port}")
private String serverPort;
/**
* http://localhost:8002/getFuture
* @return
*/
@RequestMapping("/getFuture")
public List<String> getFuture() {
List<String> list = new ArrayList<>();
list.add("不积跬步,无以至千里;");
list.add("不积小流,无以成江海。");
list.add("出自端口号:"+serverPort);
return list;
}

5>在项目入口函数上启用注册中心 客户端@EnableEurekaClient

@EnableEurekaClient
@SpringBootApplication
public class Application {
public static void main(String[] args) {
Sp

6>启动项目
访问 http://localhost:8002/getFuture 说明项目启动成功
访问注册中心 http://localhost:8888/ 看到注册中心已经注册service-provider服务
********************* Eureka 服务器消费者 RestTemplate 步骤: 7步************
1>创建SpringBoot项目
2>在pom.xml文件中
引入Eureka客户端依赖 spring-cloud-starter-eureka
配置 SpringCloud 的子项目版本集中管理 依赖 spring-cloud-dependencies
配置 SpringCloud 官方远程仓库 https://repo.spring.io/milestone

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>

3> 在项目配置文件application.yml中配置eureka

eureka:
client:
serviceUrl:
#eureka注册中心地址
defaultZone: http://localhost:8888/eureka/
server:
#项目端口号
port: 8001
spring:
application:
#服务名称,随便写
name: service-consumer

4>向Spring容器中加入RestTemplate对象

@Configuration
public class SpringConfig {
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
}

5>在service层自动注入RestTemplate对象调用eureka注册中心的远程服务

@Service
public class ConsumerService {
@Autowired
private RestTemplate restTemplate;
public List<String> getProviderFuture() {
return restTemplate.getForObject("http://service-provider/getFuture",
List.class);
}
}

6>编写控制器层调用上一步service层

@Autowired
private ConsumerService consumerService;
/**
* http://localhost:8001/getProviderFuture
* @return
*/
@RequestMapping("/getProviderFuture")
public List<String> getProviderFuture(){
return consumerService.getProviderFuture();
}

7>在项目入口函数上启用eureka客户端@EnableEurekaClient

@EnableEurekaClient
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}

启动项目,访问
http://localhost:8001/getProviderFuture
对比服务提供者
http://localhost:8002/getFuture
********************* Eureka 服务器消费者 Feign 步骤: 6步************
1>创建SpringBoot项目
2>在pom.xml文件中
引入Eureka客户端依赖 spring-cloud-starter-eureka
引入Feign依赖spring-cloud-starter-feign
配置 SpringCloud 的子项目版本集中管理 依赖 spring-cloud-dependencies
配置 SpringCloud 官方远程仓库 https://repo.spring.io/milestone

<!-- SpringCloud Eureka 客户端 依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<!-- SpringCloud Feign 依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>

3> 在项目配置文件application.yml中配置eureka

eureka:
client:
serviceUrl:
#eureka注册中心地址
defaultZone: http://localhost:8888/eureka/
server:
#项目端口号
port: 8001
spring:
application:
#服务名称,随便写
name: service-consumer

4>在service层编写接口、抽象方法,分别使用@FeignClient、@RequestMapping注解远程服务名称,服务映
射。

@FeignClient("service-provider")
public interface ConsumerService {
@RequestMapping("/getFuture")
public List<String> getProviderFuture();
}

5>编写控制器层自动注入上一步的接口类型bean

@RestController
public class ConsumerController {
@Autowired
private ConsumerService consumerService;
/**
* http://localhost:8001/getProviderFuture
* @return
*/
@RequestMapping("/getProviderFuture")
public List<String> getProviderFuture(){
return consumerService.getProviderFuture();
}

6>在项目入口函数上启用
eureka客户端@EnableEurekaClient
feign客户端@EnableFeignClients

@EnableFeignClients
@EnableEurekaClient
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}

启动项目,访问
http://localhost:8001/getProviderFuture
对比服务提供者
http://localhost:8002/getFuture
负载均衡
spring-cloud-starter-ribbon ,SpringCloud默认使用Ribbon作为负载均衡组件
,当 serviceprovider服务为集群服务时,RestTemplate调用无需做任何处理,@LoadBalanced就会自动实现负载均衡。

http://www.yayakq.cn/news/577679/

相关文章:

  • 常州市经开区建设局网站电池优化大师下载
  • 蛋糕店网站开发策划书阿里网站怎样做seo
  • 建个什么网站好呢ui培训哪家机构
  • 国外平面设计欣赏网站手机网站优化 工具
  • 网站设计公司市场容量通辽公司做网站
  • 网站上传页面苏州建站费用
  • 手机网站设计只找亿企邦站长收录平台
  • 谷歌怎么做公司网站官网制作一般费用多少
  • 垂直电商网站开发机械网站建设开发
  • 山东省建行企业网站手机触屏版网站管理系统
  • 免费网站空间域名陕西省城乡住房建设部网站
  • 东莞制作公司网站的公司直播源码
  • 电子商务网站的建设 论文做购物类网站有哪些
  • 金华网站建设工程网站建设长沙求职网招聘网
  • 网站制作报价多少流行的网站建设技术有哪些
  • vs2013 做网站seo搜索引擎排名优化
  • 搜索引擎网站推广宁波设计公司有哪些
  • 前段模板网站wordpress 上传到域名
  • 徐州祥云平台seo文章优化方法
  • 广州南沙建设网站厦门网络推广推荐
  • 茶企业网站建设模板汕头澄海地图
  • 建设网站怎么添加端口映射怎么做网站流量竞品分析
  • 东莞做网站哪家最好怎么样用ps做网站
  • 鲜花网网站建设的目的东莞网站建设营销服务平台
  • 南阳高端网站建设wordpress inaction
  • 如何加强英文网站建设装修网站官网
  • 创建网站用什么语言有了自己的网站怎样做后台
  • 免费海报在线制作网站平面设计公司网站
  • 山东公司注册网站优书网
  • 信阳网站建设信阳南昌网站建设方案开发