服务注册|学习笔记

简介: 快速学习服务注册

开发者学堂课程【SpringBoot 快速掌握 - 高级应用:服务注册】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/613/detail/9320


服务注册


内容介绍

一、编写服务

二、将服务提供者注册至注册中心

三、启动服务提供者


一、编写服务

1.新建名为 service.TicketService 的类

首先新建一个类,名为 service.TicketService  

service 要求提供一张电影票:

package com.atguigu.providerticket.service;

import org.springframework.stereotype.Service;

@Service

public class TicketService{

public String getTicket( )//编写一个获取电影票的方法{

return“《厉害了,我的国》“;

}

}

2.新建一个 controller 类(为了方便访问)

为了方便访问,还需提供一个 controller,即新建一个 controller 类,名为controller.Ticketcontroller。

(1)通过 http  的方式将接口暴露

Springcloud 在整合微服务的时候,它是通过轻量级 HTTP 进行通信的,所以此时通过 http 的方式将接口暴露出来:

package com.atguigu.providerticket. controller;

import org.springframework.web.bind.annotation.RestController;

@RestController

public class Ticketcontroller {

public String getTicket( ){

}

}

(2)添加 TicketService

package com.atguigu.providerticket. controller;

import com.atguigu.providerticket.service.TicketService;

import org.springframework.web.bind.annotation.RestController;

@RestController

public class Ticketcontroller {

TicketService ticketService;

public String getTicket( ){

}

}

(3)添加 @Autowired

package com.atguigu.providerticket. controller;

import com.atguigu.providerticket.service.TicketService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.web.bind.annotation.RestController;

@RestController

public class Ticketcontroller {

@Autowired

TicketService ticketService;

public String getTicket( ){

}

}

(4)调用 ticketService

package com.atguigu.providerticket. controller;

import com.atguigu.providerticket.service.TicketService;

import org.springframework.beans.factory.annotation.Autowired

import org.springframework.web.bind.annotation.RestController;

@RestController

public class Ticketcontroller {

@Autowired

TicketService ticketService;

public String getTicket( ){

ticketService.getTicket( );//在return

return ticketService.getTicket( );

}

}

package com.atguigu.providerticket. controller;

import com.atgui.providerticket.service.TickService;

importorg.springframework.web.bind.annotation.

RestController;

@RestController

public class Ticketcontroller{

(5)使用 get 方式的 ticket 请求

package com.atguigu.providerticket. controller;

import com.atguigu.providerticket.service.TicketService;

import org.springframework.beans.factory.annotation.Autowired

import org.springframework.web.bind.annotation.RestController;

@RestController

public class Ticketcontroller {

@Autowired

TicketService ticketService;

@GetMapping(”/ticket”)

public String getTicket( ){

return ticketService.getTicket( );

}

}


二、将提供者注册至注册中心

1.新建 application.yml

在 resources 中新建 New File,文件名为 application.yml

server:

port: 8001//提供者的端口

spring:

application:

name:provider-ticket//提供者的名字

2.将 eureka-server 的 resources 中的代码复杂到 provider 中进行配置

找到注册中心的服务注册地址

在 eureka-server 的 resources 中将地址:

eureka:

instance:

hostname: eureka-server  # eureka 实例的主机名

client:

register-with-eureka:false //不把自己注册到 eureka 上

fetch-registry: false //不从 eureka 上来获取服务的注册信息

service-url:

defaultZone:http://localhost:8761/eureka/

复制到 provider 中进行配置:

3.

(1)将在 eureka-server 的 resources 中进行删改

eureka:

instance:

hostname: eureka-server  # eureka 实例的主机名

client:

service-url:

defaultZone:http://localhost:8761/eureka/

(2)添加 prefer-ip-address

server:

port: 8001

spring:

application:

name:provider-ticket

eureka:

instance:

prefer-ip-address:true //注册服务时使用ip地址

client:

service-url:

defaultZone:http://localhost:8761/eureka/


三、启动服务提供者

访问 localhost:8001/ticket 能正常运行并显示《厉害了,我的国》,到注册中心刷新后会发现有一个名为 PROVIDER-TICKET 的应用,其端口号为8001。

package com.atguigu.providerticket.service;

import org.springframework.stereotype.Service;

@Service

public class TicketService{

System.out.println(“8001”); //为方便测试

public String getTicket( )//编写一个获取电影票的方法{

return“《厉害了,我的国》“;

}

}

在 provider 的 package 中将其打包,将打包好的 jar 包放在桌面的新建文件夹中方便后续测试,将端口号改为8002继续重复上述操作。在此新建文件夹的位置运行 cmd 输入 java -jar provider-ticket-0.0.1-SNAPSHO-8001T.jar ,然后回车运行。同样,在此新建文件夹的位置运行 cmd 输入 java -jar provider-ticket-0.0.1-SNAPSHO-8002.jar ,然后回车运行应用。回到注册中心刷新,会发现8001,8002同一个应用的两个实例都在 Status 中。

相关文章
|
11月前
|
小程序
为什么想好的商标名都注册不了
小云经常听到用户抱怨,想破脑袋想出了一个好听的商标名,但是注册时候总是被告知跟其他在先商标近似了,注册成功率不高,知道创业维艰,没想到从树招牌就开始了。
429 0
为什么想好的商标名都注册不了
|
4月前
|
存储 安全 网络安全
如何注册UGREENLink服务?
【7月更文挑战第1天】如何注册UGREENLink服务?
321 3
|
5月前
|
缓存 负载均衡 算法
服务注册与发现
每次都去请求一次服务地址,大大的降低的效率,所以需要一个机制去更新这些地址。
50 0
|
设计模式 程序员 API
Nacos 服务注册概述及客户端注册实例源码分析(一)(下)
Nacos 服务注册概述及客户端注册实例源码分析(一)(下)
108 1
|
弹性计算 数据安全/隐私保护
阿里云注册流程详解
很多小白用户不知道怎么注册阿里云,下面小编就和大家系统讲解一下
2022阿里云国际注册教程-不用绑定paypal注册
2022阿里云国际注册教程-不用绑定paypal注册,飞机@luotuoemo
2022阿里云国际注册教程-不用绑定paypal注册
|
JavaScript 前端开发 数据安全/隐私保护
整合登录和注册页面 | 学习笔记
快速学习 整合登录和注册页面
100 0
整合登录和注册页面 | 学习笔记
|
Java 关系型数据库 MySQL
如何快速实现邮箱注册(项目案例)
说起Web项目,学过Java的一定都做过很多,今天就介绍一个常用的功能——邮箱注册。 这个功能主要针对面向大众的一些在线系统,比如我们平时注册一些网站,都需要首先提供邮箱,然后系统自动发送邮件到注册邮箱,激活验证通过后才能使用。
如何快速实现邮箱注册(项目案例)
SpringCloud 踩坑之 注册中心绑定端口一直是8080
SpringCloud 踩坑之 注册中心绑定端口一直是8080
263 0
|
JSON 前端开发 数据库
注册功能实现 | 学习笔记
快速学习 注册功能实现