• springcloud 知识总结


    如果在使用nacos的时候,一定要搞好配置

    注意!!! 不能直接执行官方的config目录下的 nacos-mysql.sql 文件 里面没有创建库的sql语句,只有创建表的语句

    找到安装的mariadb 执行mysql -uroot -p

    然后创建nacos_config (create database nacos_config)

    这个时候再执行nacos文件里面的nacos-mysql.sql(use nacos_config   一定要选择这个库,才进行下一步执行sql 啊啊)

    我的放在e盘里面了 执行语句:source:E:\software\windows\springcloud\nacos\conf\nacos-mysql.sql(看到执行成功,泪流满面)

    最后单机启动 startup.cmd -m standalone

     第一步:创建父类工程,直接通过maven进行创建  pom 包如下:(其他不需要的直接可以删除了)

    1. "1.0" encoding="UTF-8"?>
    2. "http://maven.apache.org/POM/4.0.0"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    5. 4.0.0
    6. com.stone.cn
    7. springcloud-all
    8. pom
    9. 1.0-SNAPSHOT
    10. <module>springcloud-prividermodule>
    11. <module>springcloud-consumermodule>
    12. org.springframework.boot
    13. spring-boot-dependencies
    14. 2.3.12.RELEASE
    15. import
    16. pom
    17. org.springframework.cloud
    18. spring-cloud-dependencies
    19. Hoxton.SR12
    20. import
    21. pom
    22. com.alibaba.cloud
    23. spring-cloud-alibaba-dependencies
    24. 2.2.8.RELEASE
    25. import
    26. pom
    27. org.projectlombok
    28. lombok
    29. 1.18.24
    30. org.springframework.boot
    31. spring-boot-starter-test
    32. test
    33. org.junit.vintage
    34. junit-vintage-engine
    35. org.apache.maven.plugins
    36. maven-compiler-plugin
    37. 3.8.1
    38. 8
    39. 8

    2:创建子类工程 provider(主要是pom包)

    3:创建子类工程consumer

    创建将远程调用的bean交给spring

    @Configuration
    public class RestTemplateConfig {
    
    @LoadBalanced
        @Bean
        public RestTemplate restTemplate(){
            return new RestTemplate();
        }
    }

    创建消费者调用提供者(provider可以通过调用并发启动)

     

    1. package com.stone.cn.controller;
    2. @RestController
    3. @CrossOrigin
    4. @RequestMapping("/consumer")
    5. public class ConsumerTest {
    6. @Value("${server.port}")
    7. private String port;
    8. @Autowired
    9. private RestTemplate restTemplate;
    10. @Autowired
    11. private LoadBalancerClient client;
    12. @RequestMapping(value = "/get",method = RequestMethod.GET)
    13. public User getOne(){
    14. ServiceInstance choose = client.choose("springcloud-privider");
    15. String url =String.format("http://%s:%s/user/get/%s",choose.getServiceId(),choose.getPort(),choose.getPort());
    16. System.out.println(choose.getPort());
    17. System.out.println(choose.getServiceId());
    18. System.out.println(choose.getInstanceId());
    19. return restTemplate.getForObject(url, User.class);
    20. }
    21. }

    负载均衡也可以通过Feign


        org.springframework.cloud
        spring-cloud-starter-openfeign

    启动类上添加@EnableFeignClients

    定义Http请求API,基于此API借助OpenFeign访问远端服务

     创建FeignConsumerController中并添加feign访问

     

  • 相关阅读:
    【机器学习Q&A】数据抽样和模型验证方法、超参数调优以及过拟合和欠拟合问题
    2019java面试(六)
    【iOS】实现评论区展开效果
    【Maven】本地执行一个模块的UT失败,但是线上能执行成功
    c++11 动态内存管理-分配器 (std::allocator)
    MongoDB基础学习
    【服务器 | 宝塔】宝塔面板卸载重装教程:清理删除宝塔面板并重新开始
    智能货柜:无人零售行业的新宠
    百度一面1h
    滴滴一面:线程池任务,如何设置优先级?
  • 原文地址:https://blog.csdn.net/weixin_61294560/article/details/127712485