美文网首页
微服务之服务治理

微服务之服务治理

作者: i骷髅精灵 | 来源:发表于2019-12-03 09:22 被阅读0次

服务治理所解决的问题

在传统rpc远程调用中,服务与服务依赖关系,管理比较复杂,所以需要使用服务治理,管理服务与服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。
在服务注册与发现中,有一个注册中心,当服务器启动的时候,会把当前自己服务器的信息 比如 服务地址通讯地址等以别名方式注册到注册中心上。
另一方(消费者|服务提供者),以该别名的方式去注册中心上获取到实际的服务通讯地址,让后在实现本地rpc调用远程。

服务治理所使用的技术手段

1、通过注册中心实现服务的注册与发现 ,需要一个注册中心,常用的有zookeeper、Eureka、Consul 等
2、通过本地RPC接口调用需要的服务,常用Feign客户端、RestTemplate等方式

服务发现与注册的简单技术实现

Eureka实现服务的注册与发现(springcloud整合Eureka)

pom.xml 依赖项
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Greenwich.SR3</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <dependencies>
        <!-- springboot整合eureka客户端 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

        <!-- springboot整合fegnin客户端 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
   </dependencies>

</project>


application.yml中配置
### 服务名称(服务注册到eureka名称)
spring:
  application:
    name: app-itmayiedu-order
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8100/eureka
    ###因为该应用为注册中心,不会注册自己,集群为true
    register-with-eureka: false
    ###是否需要从eureka上获取注册信息,集群为true
    fetch-registry: false

在启动类Application上加入注解 @EnableEurekaClient
@SpringBootApplication
@EnableEurekaClient
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(OrderApplication.class, args);
    }
}

然后在使用到服务是就可以使用服务器名称(application.yml中配置的应用名称代替服务地址进行服务调用)

zookeeper实现服务的注册与发现(springcloud整合zookeeper)

zookeeper的整合跟Eureka非常类似

pom.xml 依赖项
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
        </dependency>
        <!--zk工具包 保持客户端zookeeper版本与服务器端一致-->
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.14</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

注意zookeeper指定版本是为了服务端和客户端版本保持一致,防止兼容性的问题出现

application.yml中配置
spring:
  application:
    name: app-order-service
  cloud:
    zookeeper:
      discovery:
        register: true
        enabled: true
        instance-id: 1
        root: /demo
      connect-string: 39.104.124.245:2181
在启动类Application上加入注解 @EnableDiscoveryClient
@SpringBootApplication
@EnableDiscoveryClient
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(OrderApplication.class, args);
    }
}

然后在使用到服务是就可以使用服务器名称(application.yml中配置的应用名称代替服务地址进行服务调用)

相关文章

  • Spring Cloud-1.服务治理

    服务治理 服务治理用来实现各个微服务示例的自动化注册与发现。 服务治理围绕“服务注册”和“服务发现”机制来完成对微...

  • 微服务之服务治理

    在微服务架构中,一个单体应用可以拆分为多个微服务(单一责职),每个小服务运行在不同的进程中,服务与服务之间...

  • 微服务之服务治理

    服务治理所解决的问题 在传统rpc远程调用中,服务与服务依赖关系,管理比较复杂,所以需要使用服务治理,管理服务与服...

  • 微服务 之 服务治理

    本文的示例代码参考cloud-eureka-server[http://git.nuozhilin.site/yu...

  • Chapter three《SpringCloud微服务实战》

    服务治理之Spring Cloud Eureka 1.服务治理。可以说是微服务架构中最为核心和基础的模块,主要用来...

  • EUREKA服务治理

    1、服务治理三个核心点、服务提供者、服务消费者、服务注册中心 结合Ribbon 服务治理图 服务治理时序图 服务提...

  • Dubbo 服务治理

    Dubbo 服务治理 前言 大家好,今天开始给大家分享 — Dubbo 专题之 Dubbo 服务治理。在前一个章节...

  • springboot-服务治理

    一、什么是服务治理 由于微服务数量太多导致维护成本巨大,服务治理就是来解决这个问题。服务治理就是让服务子维护,微服...

  • 一、springCloud注册中心

    一、注册中心的说明 一 Eureka服务治理体系 1.1 服务治理 服务治理是微服务架构中最为核心和基础的模块,它...

  • 4. Spring Cloud 之服务治理 - Eureka服务

    Spring Cloud 之服务治理 - Eureka服务发现-生产者 实现服务发现非常容易,只需要如下几步:1....

网友评论

      本文标题:微服务之服务治理

      本文链接:https://www.haomeiwen.com/subject/fuoqgctx.html