从零开始搭建公司SpringCloud架构技术栈,这套架构绝了( 三 )


如下 管理界面已经可以登录了 。

从零开始搭建公司SpringCloud架构技术栈,这套架构绝了

文章插图
 
2.3 客户端client 提供真正服务的角色的配置, 它提供服务 在 服务注册方server (注册中心)进行注册同样新建module,选择quickstart点击下一步
从零开始搭建公司SpringCloud架构技术栈,这套架构绝了

文章插图
 
两个位置 置空
从零开始搭建公司SpringCloud架构技术栈,这套架构绝了

文章插图
 
取名 下一步
从零开始搭建公司SpringCloud架构技术栈,这套架构绝了

文章插图
 
注意这里要在根目录springcloud 下创建模组,content root 会默认在之前的模组之下创建模组 这样创建模组会出现问题并报错
从零开始搭建公司SpringCloud架构技术栈,这套架构绝了

文章插图
 
推荐这种配置方法 在content root下springcloud后改名字 如下图配置点下一步,红框处一般默认为上一个模组的文件目录名,需要改为你的模组名
从零开始搭建公司SpringCloud架构技术栈,这套架构绝了

文章插图
 
成功后为并列状态,如不为并列或报错请重新配置
从零开始搭建公司SpringCloud架构技术栈,这套架构绝了

文章插图
 
配置servicesupport的pom,与server的pom配置相同,只需要把第一个pom的1的方框处server改为client
和第一个微服务同理 我们需要配置入口类 pom.xml application.yml,因为是服务提供者,这里还需编写服务类controller
application.yml
server:port: 8701 # 服务提供方 # 指定当前eureka客户端的注册地址,eureka:client:service-url:defaultZone: http://${eureka.instance.hostname}:8700/eurekainstance:hostname: localhost #当前服务名称spring:application:name: eureka-servicepom.xml:
从零开始搭建公司SpringCloud架构技术栈,这套架构绝了

文章插图
 
编写所提供的 服务controller:
package com.yun; import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController; @RestController@RequestMapping("/Hello")public class Controller {@RequestMapping("/World")public String helloWorld(String s){System.out.println("传入的值为:"+s);return "传入的值为:"+s;}}入口类 并运行此微服务:
package com.yun; import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient; @SpringBootApplication@EnableDiscoveryClient//代表自己是一个服务提供方public class EurekaServiceApplication {public static void main(String[] args) {SpringApplication.run(EurekaServiceApplication.class,args);}}右键入口类名点击 run(当然开启此服务时需要先开启server服务 就是我们第一个编写的微服务)
从零开始搭建公司SpringCloud架构技术栈,这套架构绝了

文章插图
 
此时再进入服务注册的页面 http://localhost:8700/
可以看见服务提供者已被注册进 服务注册者
从零开始搭建公司SpringCloud架构技术栈,这套架构绝了

文章插图
 
在直接访问一下服务提供者的 网络位置
http://localhost:8701/Hello/World?s=小沛
我们已经看见 可以访问了,证明此微服务可用 。
从零开始搭建公司SpringCloud架构技术栈,这套架构绝了

文章插图
 
但是我们一般不直接调用所需的微服务,而是经过提供注册服务的服务器server,获取所需的服务提供者列表(为一个列表,此列表包含了能提供相应服务的服务器),他们也许是个集群,因此server会返回一个 ip+端口号的表,服务消费者通过相应算法访问这表上的不同服务器,这些服务器提供的是相同的服务,这种在服务消费者一方挑选服务器为自己服务的方式是一种客户端的负载均衡 。
目前博主所知的有 轮询和随机两种方式 访问这些服务器,轮询就是循环的意思,假如有3台服务器,访问方式就是1,2,3,1,2,3,1,2,3····,随机就是随机,回想一下random方法,一种无规律的方式 。这两种方式都是为了,访问每个服务器的可能性尽量的相同 。还有权重负载这种算法,意思就是 根据服务器负载能力的分配相应的服务 。能力大的干得多 。能力小的干得少 。
2.4 服务的调用方式
第一种调用方式:restTemplate+ribbon
 
从零开始搭建公司SpringCloud架构技术栈,这套架构绝了


推荐阅读