SpringCloud微服务-----Eureka(1)

       笔者以前只做过dubbo+zookeeper的小demo,最近接手以SpringCloud为基础的微服务项目,作为刚毕业一年不到的菜鸟感觉迫切需要学习一发。比较两种微服务:

       dubbo的服务间通信是通过RPC调用的。个人以前做demo的时候,感觉dubbo容错机制不太好。但国内用dubbo的多。

      springcloud的服务间通信是通过http,调用者通过Get,Post,Put,Delete完成对另一个服务的调用,rest风格的访问可以灵活地实现前后端分离,适合于作为各种应用端的后台。Hystrix断路器提供了一套很完善的容错机制。相比dubbo,springcloud迭代周期快,更新活跃。

       下面,简单尝试一下。

一.创建一个Eureka注册中心

   1.在创建工程之后加入必要依赖

<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>1.4.4.RELEASE</version>
   <relativePath/>
</parent>

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

<dependencyManagement>
   <dependencies>
      <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-dependencies</artifactId>
         <version>Dalston.SR1</version>
         <type>pom</type>
         <scope>import</scope>
      </dependency>
   </dependencies>
</dependencyManagement>



<build>
   <plugins>
      <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
   </plugins>
</build>

   2.对Eureka服务注册中心进行一番配置

spring.application.name=eureka_server
server.port=10000

eureka.instance.hostname=localhost
eureka.client.register-with-eureka=false   #是否允许注册自己
eureka.client.fetch-registry=false         #是否支持索引
eureka.server.enable-self-preservation=true   #是否关闭自我保护
eureka.server.eviction-interval-timer-in-ms=60000  #清理时间间隔-毫秒级

 3.使用@EnableEurekaServer注解启动注册中心

@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {

   public static void main(String[] args) {
      SpringApplication.run(EurekaApplication.class, args);
   }
}

4.启动SpringBoot主类,输入 http://localhost:10000/ 查看注册中心服务


目前,没有客户端向Eureka注册服务.


二.向Eureka注册中心完成一个服务的注册

  1.同样在创建工程之后,pom.xml文件加入依赖

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.4.RELEASE</version>
    <relativePath/>
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka-server</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Dalston.SR1</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>



<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

2.在application.properties对客户端进行配置

spring.application.name=eureka_client
server.port=10001 
eureka.client.serviceUrl.defaultZone=http://localhost:10000/eureka/ #注册中心地址
eureka.client.healthcheck.enabled=true   #是否开启心跳检查

3.使用@EnableDiscoveryClient向Eureka注册中心注册服务

@EnableDiscoveryClient
@SpringBootApplication
public class Eurekaclient {
    public static void main(String[] args) {
        new SpringApplicationBuilder(
                Eurekaclient.class)
                .web(true).run(args);
        }

    }

4. 启动主类,输入http://localhost:10000/,可以看到服务注册成功


至此,就可以用Ribbon或Feign调用该服务了,有空再补充。。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值