springcloud【基于springboot1.x】的简单发布服务和使用
1、新建一个springboot 1.x项目【2.x之上有bug,就没测试】




就是新建一个注册中心


2、等下载完,注册中心配置application.yml
server:
port: 8761
eureka:
instance:
hostname: server #eureka实例的主机名
client:
register-with-eureka: false #不能把自己注册到eureka上
fetch-registry: false #不从eureka上来获取服务的注册信息
service-url:
defalutZone: http://localhost:8761/eureka/

3、注册中心主程序添加@EnableEurekaServer【org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;】

4、运行注册中心

5、访问http://localhost:8761/

为了方便测试,这里把注册中心打包成可运行的jar,单独运行,不占用idea

6、新建一个服务提供者



7、服务提供者的application.yml
server:
port: 8001 spring:
application:
name: ticket eureka:
instance:
prefer-ip-address: true #注册服务的时候使用服务的ip地址
client:
service-url:
defalutZone: http://localhost:8761/eureka/

8、写一个service【TicketService.java】
package com.xiaostudy.springcloud_service.service; import org.springframework.stereotype.Service; @Service
public class TicketService { public String getTicket() {
return "服务提供者。。。";
}
}

9、写一个controller【TicketController.java】
package com.xiaostudy.springcloud_service.web.controller; import com.xiaostudy.springcloud_service.service.TicketService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
public class TicketController { @Autowired
TicketService ticketService; @GetMapping("/ticket")
public String getTicket() {
return ticketService.getTicket();
}
}

10、运行服务提供者

11、访问http://localhost:8001/ticket

正常,也可以去注册中心看

同样,为了方便测试,把服务也打包成jar,单独运行,不占用idea

12、新建一个消费者



13、消费者的application.yml
server:
port: 8200 spring:
application:
name: user eureka:
instance:
prefer-ip-address: true #注册服务的时候使用服务的ip地址
client:
service-url:
defalutZone: http://localhost:8761/eureka/
14、消费者主程序添加
//开启发现服务功能
@EnableDiscoveryClient

再添加
@LoadBalanced//使用负载均衡机制 一定要加@LoadBalanced,不让报连接超时
@Bean//帮我们发送http请求
public RestTemplate restTemplate() {
return new RestTemplate();
}

15、消费者新建一个controller【UserController.java】
package com.xiaostudy.springcloud_consumers.web.controller; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate; @RestController
public class UserController { @Autowired
RestTemplate restTemplate; @GetMapping("/get")
public String getTicket() {
String s = restTemplate.getForObject("http://TICKET/ticket", String.class);
return "获取了:" + s;
}
}

16、消费者运行

已经启动了

17、访问http://localhost:8200/get

注册中心上也可以看到

到此,一个简单springcloud例子完成
springboot2.1.6用以上方法也可行。
springboot2.x以上可能后面测试
springcloud【基于springboot1.x】的简单发布服务和使用的更多相关文章
- 基于 APIGateway 打造生产级别的 Knative 服务
作者 | 阿里云智能事业群高级开发工程师 元毅 导读:在实际应用中,通过 APIGateway(即 API 网关),可以为内部服务提供保护.提供统一的鉴权管理.限流.监控等能力,开发人员只需要关注内 ...
- JAX-WS 学习一:基于java的最简单的WebService服务
JAVA 1.6 之后,自带的JAX-WS API,这使得我们可以很方便的开发一个基于Java的WebService服务. 基于JAVA的WebService 服务 1.创建服务端WebService ...
- 最简单的基于librtmp的示例:发布H.264(H.264通过RTMP发布)
===================================================== 最简单的基于libRTMP的示例系列文章列表: 最简单的基于librtmp的示例:接收(RT ...
- 最简单的基于librtmp的示例:发布(FLV通过RTMP发布)
===================================================== 最简单的基于libRTMP的示例系列文章列表: 最简单的基于librtmp的示例:接收(RT ...
- .net平台 基于 XMPP协议的即时消息服务端简单实现
.net平台 基于 XMPP协议的即时消息服务端简单实现 昨天抽空学习了一下XMPP,在网上找了好久,中文的资料太少了所以做这个简单的例子,今天才完成.公司也正在准备开发基于XMPP协议的即时通讯工具 ...
- 基于ZooKeeper实现简单的服务注册于发现
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/Shaun_luotao/article/ ...
- 分布式消息总线,基于.NET Socket Tcp的发布-订阅框架之离线支持,附代码下载
一.分布式消息总线以及基于Socket的实现 在前面的分享一个分布式消息总线,基于.NET Socket Tcp的发布-订阅框架,附代码下载一文之中给大家分享和介绍了一个极其简单也非常容易上的基于.N ...
- 分享一个分布式消息总线,基于.NET Socket Tcp的发布-订阅框架,附代码下载
一.分布式消息总线 在很多MIS项目之中都有这样的需求,需要一个及时.高效的的通知机制,即比如当使用者A完成了任务X,就需要立即告知使用者B任务X已经完成,在通常的情况下,开发人中都是在使用者B所使用 ...
- 基于.NET Socket Tcp的发布-订阅框架
基于.NET Socket Tcp的发布-订阅框架 一.分布式消息总线 在很多MIS项目之中都有这样的需求,需要一个及时.高效的的通知机制,即比如当使用者A完成了任务X,就需要立即告知使用者B任务X已 ...
随机推荐
- P4568 飞行路线 分层图最短路
P4568 飞行路线 分层图最短路 分层图最短路 问题模型 求最短路时,可有\(k\)次更改边权(减为0) 思路 在普通求\(Dijkstra\)基础上,\(dis[x][j]\)多开一维\(j\)以 ...
- 如何在Processing中用鼠标获取RGB颜色数值
要做一个抠图应用,所以随手做了个鼠标取色,代码如下: void mousePressed(){ int imgC = get(mouseX,mouseY); int R = (imgC >> ...
- GoCN每日新闻(2019-09-29)
1. 干货满满的Go Modules和goproxy.cn https://juejin.im/post/5d8ee2db6fb9a04e0b0d9c8b 2. gnet: 一个轻量级且高性能的 Go ...
- P1088 火星人——全排列函数
P1088 火星人 algorithm里面有一个next_permutation(a,a+n); #include<cstdio> #include<cstring> #inc ...
- 用vue做todolist
<template> <div class="hello"> <div style="height:25px;line-height:25p ...
- python 两个字典对比
def commir_two_dict(dictone,dicttwo): pass_num=0 fail_num=0 try: for i in dictone.keys(): if i in di ...
- python 设计模式学习代码记录
@工厂模式class Beijing: def printreslut(self): print("ok") class Shanghai: def printreslut(sel ...
- ciscn2019华北赛区半决赛day1web5CyberPunk
刚比赛完的一段时间期末考试云集,没有时间复现题目.趁着假期,争取多复现几道题. 复现平台 buuoj.cn 解题过程 首先进入题目页面 看起来没有什么特别的,就是一个可以提交信息的页面.查看响应报文也 ...
- win10常用快捷键(热键)总结
win10常用快捷键总结: win+Ctrl+D 创建虚拟桌面 win+Ctrl+左(右)键 切换虚拟桌面 win+Ctrl+F4 关闭虚拟桌面 win+D 隐藏所有窗口/显示所有窗口 win+M 隐 ...
- input type color
<input type="color"> https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input ...