springcloud-netfilx(Eureka)服务注册

一. Eureka server


1.maven(war)项目 springcloud-eurekaserver

pom.xml添加依赖:  spring-cloud-starter-eureka-server
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.SR5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
</dependencies>


2.src/main/resources目录新建application.yml
文件配置:
server:
  port: 8761

eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
  
3.启动类Main 添加注解:@EnableEurekaServer

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

运行程序:浏览器访问 localhost:8761

二.Eureka Client


1.新建maven(war)项目 springboot-sendemail

pom.xml添加依赖:pring-cloud-starter-eureka

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.SR5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<dependencies>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<!-- mail:发送邮件 -->
    <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>

<!-- eureka:服务注册 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>

</dependencies>

2.src/main/resources目录新建application.properties
文件配置:
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/
#服务名不能带"_",多个相同的服务的服务名相同
spring.application.name=sendmail
server.port=8081

#下面的是发送邮件的配置
spring.mail.port=25
spring.mail.host=smtp.qq.com
spring.mail.username=邮箱名
spring.mail.password=密码/授权码
#qq邮箱配置
spring.mail.properties.mail.smtp.starttls.enable=true


3.启动类Main 添加注解:@EnableEurekaClient /EnableDiscoveryClient

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


4.新建contrller类:EmailController

@RestController
public class EmailController {

    @Autowired
    private JavaMailSender jms;
 
    @PostMapping("/psend")
    public String sendMail(@RequestBody Map<String,Object> map){
        SimpleMailMessage mailMessage  =   new  SimpleMailMessage();
        mailMessage.setFrom("邮件发送方的邮箱");
        mailMessage.setTo(map.get("send_to").toString());   //邮件接收方的邮箱
        mailMessage.setSubject(map.get("send_subject").toString());  //邮件主题
        mailMessage.setText(map.get("send_content").toString());  //邮件内容
        jms.send(mailMessage);
        return "发送成功";
    }     
    
}



启动server,再运行8081端口的client,修改client的端口为8082再次运行 


浏览器访问localhost:8761  即可查看注册的服务sendmail    
 
SENDMAIL n/a (2) (2) UP (2) - user:sendmail:8082 , user:sendmail:8081


服务与服务之间的调用:服务发现

一个项目(程序)中的每个服务都可以当做独立的一部分,可以单独运行和使用,
在多台服务器上部署相同的服务(服务名都相同)
服务启动后自动注册在注册中心,由注册中心来决定调用那台机器上的服务(负载均衡策略)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值