开始学习微服务(一)

微服务

模块拆分解耦,相当于一个项目一个模块,也相当于是不一样的线程,模块间无关联

分布式

将一个系统划分为多个模块,模块间有关系

二者关系

微服务是架构的一种,可以简单理解为分布式是微服务的一种

现有可以使用微服务技术--spring clound

小坑: 使用时spring clound 要与spring boot 版本对应,否则可能会报错。

原因:spring clound是由很多中间件(还是叫组件)组合而成的,所以它的一个版本是那些中间件组合而成的版本,spring clound版本更新都是一次大更新。

附加:

Nginx:没有信息就是最好的信息

测试

两个简单微服务目录

开始学习微服务(一)_第1张图片

开始学习微服务(一)_第2张图片

核心代码

@RestController
public class PowerController {

    @RequestMapping("/getPower.do")
    public Object getPoser(){
        Map map = new HashMap<>();
        map.put("key","power");

        return map;
    }
@RestController
public class UserController {

    @Autowired
    RestTemplate restTemplate;


    @RequestMapping("/getUser.do")
    public R getUser(){
        Map map = new HashMap<>();
        map.put("key","user");

        return R.success("返回成功",map);
    }

/*R是用来统一返回的一个工具类,也可以不用.测试思想是user服务可以通过RestTemplate与power进行通信*/
    @RequestMapping("/getPower.do")
    public R getPower(){
        return R.success("操作成功",restTemplate.getForObject("http://localhost:6000/getPower.do",Object.class));

    }
}
/*return R.success("操作成功",restTemplate.getForObject("http://localhost:6001/getPower.do",Object.class));
中http://localhost:6001/getPower.do可以改个接口使用nginx实现集群:如http://localhost:80/getPower.do后,下载nginx,设置配置即可
    
 

 大致思想(服务端负载均衡

开始学习微服务(一)_第3张图片

你可能感兴趣的:(开始学习微服务(一))