zoukankan      html  css  js  c++  java
  • SpringCloud微服务的Eureka

    一、什么是微服务架构

     

      架构设计概念,各服务间隔离(分布式也是隔离),自治(分布式依赖整体组合)其它特性(单一职责,边界,异步通信,独立部署)是分布式概念的跟严格执行SOA到微服务架构的演进过程

     

      作用:各服务可独立应用,组合服务也可系统应用(巨石应用[monolith]的简化实现策略-平台思想)

     

     

    二、SOA架构与微服务架构区别

     

      SOA架构主要针对企业级、采用ESB服务(ESB企业服务总线),非常重,需要序列化和反序列化,采用XML格式传输。

      微服务架构主要互联网公司,轻量级、小巧,独立运行,基于Http+Rest+JSON格式传输。

      ESB也可以说是传统中间件技术与XML、Web服务等技术相互结合的产物。

     

     三、SpringCloud

     

      SpringCloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、负载均衡、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于Springboot的,所以需要开发中对Springboot有一定的了解。

    四、服务的注册与发现(Eureka )

      我们需要用的的组件上Spring Cloud Netflix的Eureka ,eureka是一个服务注册和发现模块。

      

    五、什么是Eureka

      官方的介绍在这里Eureka wikiEureka是Netflix开源的一个RESTful服务,主要用于服务的注册发现。Eureka由两个组件组成:Eureka服务器和Eureka客户端。Eureka服务器用作服务注册服务器。Eureka客户端是一个java客户端,用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持。Netflix在其生产环境中使用的是另外的客户端,它提供基于流量、资源利用率以及出错状态的加权负载均衡。
      Eureka的吸引力来源于以下几点:

       开源:大家可以对实现一探究竟,甚至修改源码。

       可靠:经过Netflix多年的生产环境考验,使用应该比较靠谱省心

       功能齐全:不但提供了完整的注册发现服务,还有Ribbon等可以配合使用的服务。

       基于Java:对于Java程序员来说,使用起来,心里比较有底。

       spring cloud可以使用Spring Cloud, 与Eureka进行了很好的集成,使用起来非常方便。

    六、实现服务注册

      6.1 创建EureKaserver 项目

      (1)导入依赖

          

    <!--eureka依赖-->
        <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    
    <dependencyManagement>
        <dependencies>
          <!--springCloud依赖-->
          <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Greenwich.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
          </dependency>
        </dependencies>
      </dependencyManagement>

      (2)application.yml配置文件

    ##应用名称
    spring:
      application:
        name: microservicecloud-dept
    ##声明当前eurekaservice的端口号
    server:
      port: 8888
    
    ##配置eureka
    eureka:
      client:
        ##代表是否将自己注册到注册中心去
    
        ##表明自己是注册中心
        fetch-registry: false
        ##配置地址
        service-url:
          defaultZone: http://localhost:8888/eureka

      (3)StartSpringCloudEureka启动类

    package com.zn;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
    
    @SpringBootApplication
    @EnableEurekaServer  //eureka服务注册中心
    public class StartSpringCloudEureka {
        public static void main(String[] args) {
            SpringApplication.run(StartSpringCloudEureka.class,args);
        }
    }

      (4)效果 访问 localhost:8888

        

      

  • 相关阅读:
    POJ 1469 COURSES 二分图最大匹配
    POJ 1325 Machine Schedule 二分图最大匹配
    USACO Humble Numbers DP?
    SGU 194 Reactor Cooling 带容量上下限制的网络流
    POJ 3084 Panic Room 求最小割
    ZOJ 2587 Unique Attack 判断最小割是否唯一
    Poj 1815 Friendship 枚举+求最小割
    POJ 3308 Paratroopers 最小点权覆盖 求最小割
    1227. Rally Championship
    Etaoin Shrdlu
  • 原文地址:https://www.cnblogs.com/Zzzzn/p/12054645.html
Copyright © 2011-2022 走看看