springcloud+jpa+mycat简单实现

1.开发注册中心,对于它来讲,生产消费者都是它的客户端,它是两者沟通的桥梁。
1.1建立web项目,添加Eureka Server依赖。
在这里插入图片描述
在这里插入图片描述
1.2配置文件

spring:
  application:
    name: eureka-server  #注册中心项目起名字
    
server:
  port: 1111
      
eureka:
  client:
    fetch-registry: false  #注册中心本身不需要读取注册中心的服务
    register-with-eureka: false #不需要将自己注册
    service-url:   #注册中心的访问地址
      defaultZone: http://localhost:1111/eureka

1.3启动 是不是简单到没朋友。

package com.hezhanghuaixaio.app;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer  //打开eureka注册中心服务
public class SpringcloudEurekaServerApplication {

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

}

2.生产者项目
2.1创建生产者项目,添加 JPA、Mysql、Eureka客户端依赖
在这里插入图片描述
2.2配置文件
在这里插入图片描述
注意:连接mycat要更改系统mysql版本号
在这里插入图片描述
2.3创建一个方法,这个方法会调用service/dao/执行数据库添加信息。
注意:参数列表的@RequestBody注解要删除掉,通过feign调用需要。

在这里插入图片描述
2.4发布远程服务,每次修改端口号。
package com.bjsxt.app;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient //生产者作为注册中心的客户端,链接注册中心
public class SpringcloudRedProviderApplication {

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

}

3.消费者项目
3.1创建消费者项目
在这里插入图片描述
3.2配置文件

spring:
  application:
    name: user-consumer #注册中心项目起名字
    
server:
  port: 5555
      
eureka:
  client:
    service-url:   #注册中心的访问地址
      defaultZone: http://localhost:1111/eureka

3.3创建配置AppConfigs类,这个类相当于之前创建resttemplate的xml文件,远程调用我们使用resttemplate模板对象。

import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

@Configuration //相当于spirng的xml文件
public class AppConfigs {

	//相当于spring的xml文件中的bean标签
	/***
	 * <bean id="restTemplate" class="org.springframework.web.client.RestTemplate">
	 * @return
	 */
	@LoadBalanced  //实现远程服务调用的时候,完成负载均衡
	@Bean
	public RestTemplate restTemplate() {
		return new RestTemplate();
	}
}

3.4创建controller进行远程调用,这里http://协议后面跟的是生产者集群在注册中心的服务名称,它代表整个生产者集群。

3.5启动消费者

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient   
public class SpringcloudUserConsumerApplication {

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

}

3.6测试
在这里插入图片描述

4.springcloud服务的feign调用,和resttemllate对象调用都是远程调用,只是方式不同。
4.1创建消费者项目
在这里插入图片描述
4.2配置文件
在这里插入图片描述
4.3定义fei’g’n接口,要求方法和要调用的生产者方法签名必须一致,修改成抽象方法。相当于把远程对象注入到本地,而本地代理对象就是该接口对象。
在这里插入图片描述
4.4创建controller利用本地代理对象调用生产者添加信息的方法
在这里插入图片描述
4.5测试
在这里插入图片描述
4.6数据库信息,mysql集群:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值