一. 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

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

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

springcloud-netfilx(Eureka)服务注册相关推荐

  1. SpringCloud[01]Eureka服务注册与发现

    文章目录 Eureka服务注册与发现 1. Eureka基础知识 1. 什么是服务治理 2. 什么是服务注册与发现 3. Eureka包含两个组件:**Eureka Server** 和 **Eure ...

  2. SpringCloud(五)Eureka服务注册与发现

    Eureka基础知识 什么是服务治理   SpringCloud 封装了 NetFlix公司开发的Eureka模块来实现服务治理   在传统的rpc远程调用框架中, 管理每个服务与服务之间依赖关系比较 ...

  3. 跟着狂神学SpringCloud(Rest环境搭建+Eureka服务注册与发现+ribbon+Feign负载均衡+Hystrix+服务熔断+Zuul路由网关+SpringCloud config分布)

    跟着狂神学SpringCloud SpringCloud 回顾之前的知识- JavaSE 数据库 前端 Servlet Http Mybatis Spring SpringMVC SpringBoot ...

  4. SpringCloud组件 源码剖析:Eureka服务注册方式流程全面分析

    在SpringCloud组件:Eureka服务注册是采用主机名还是IP地址?文章中我们讲到了服务注册的几种注册方式,那么这几种注册方式的源码是怎么实现的呢?我们带着这一个疑问来阅读本章内容能够让你更深 ...

  5. Eureka服务注册中心---SpringCloud

    Eureka服务注册中心 5.1 什么是Eureka Netflix在涉及Eureka时,遵循的就是API原则. Eureka是Netflix的有个子模块,也是核心模块之一.Eureka是基于REST ...

  6. SpringCloud笔记(Hoxton)——Netflix之Eureka服务注册与发现

    基础应用 Eureka简介 Eureka是一个基于REST的服务,主要在AWS云中使用,定位服务来进行中间层服务器的负载均衡和故障转移. SpringCloud封装了Netflix公司开发的Eurek ...

  7. SpringCloud笔记(1)—Eureka服务注册中心

    项目开发练习涉及的模块 Eureka:负责服务发现相关.Eureka Server/Client.高可用.服务发现机制. Config:负责统一配置中心.Config Server/Client.Sp ...

  8. springcloud Eureka服务注册和发现

    一,Eureka基本介绍: Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现(请对比Zookeeper). Eureka 采用了 C-S 的设计架构 ...

  9. 浅谈SpringCloud (二) Eureka服务发现组件

    上面学习到了如何由一个程序访问另一个程序,那么如果使用SpringCloud来进行访问,该如何访问呐? 可以借助Eureka服务发现组件进行访问. 可以借助官方文档:https://spring.io ...

  10. SpringCloud 定义Eureka服务端、Eureka服务信息、Eureka发现管理、Eureka安全配置、Eureka-HA机制、 Eureka服务打包部署

    对于服务发现框架可以简单的理解为服务的注册以及使用操作步骤,例如:在 ZooKeeper 组件,这个组件里面已经明确的描述了一个服务的注册以及发现操作流程,在整个 Rest 架构里面,会存在有大量的微 ...

最新文章

  1. java-静态变量,单例模式
  2. MySQL - MySQL不同存储引擎下索引的实现
  3. db_recovery_file_dest_size 修改大一点及删除归档日志 |转|
  4. 袁亚湘委员:加强对数学等基础科学领域支持,技术与科学并重
  5. EventBus源码分析
  6. Async/Await(异步处理)
  7. 阿里云函数计算应用:将ActionTrail审计事件从OSS导入到SLS中
  8. Atmel与ARM合力打造物联网开发平台
  9. A10负载均衡设备基础配置
  10. python批量下载bilibili视频_如何批量下载bilibili的视频?
  11. vue v-if 和 v-show 的知识点
  12. linux下实用工具,Linux下的实用工具(持续更新)
  13. 软件项目管理第4版课后习题[附解析]第九章
  14. 最速降线问题——欧拉-拉格朗日方程的推导
  15. (一)泛函分析(江泽坚)习题解答
  16. 华为鸿蒙荣耀壁纸,华为Mate 40全新主题、系统壁纸曝光:高清无水印
  17. 【java并发探赜索隐】判断标志、死锁、守护进程
  18. echarts的中国地图,点击进入省级地图,按需加载对应的省js,可返回中国地图
  19. 5、ICE Candidate Gathering and Exchange【ICE Candidate 收集和交换】
  20. 绘图杂记【3】Python / R语言 制作峰峦图

热门文章

  1. ApacheCN 翻译活动进度公告 2019.4.23
  2. CentOS7 能ping通网关不能上网
  3. XFS 存储核心技术详解
  4. 论文阅读|基于领域知识图谱的多文档摘要生成与应用
  5. 基于spaCy的领域命名实体识别
  6. 淘宝大数据解析之timetunnel
  7. 大数据分析如何使用pandas进行时间序列分析
  8. 我的世界古代战争模组介绍java版_我的世界古代战争2mod教程零基础到专属军队...
  9. pandas获得指定行_如何用pandas实现选取特定索引的行
  10. java如何连接rfid_Java + Uno + RFID:java中的调用方法读取rfid