中软国际实训日记第十三天-8.3

目录

1.微服务

2.eureka

3.privode

4.consume

5.看板娘

正文

1.微服务

1.1 第一代服务框架
代表:Dubbo(Java)、Orleans(.Net)等
特点:和语言绑定紧密

1.2 第二代服务框架
代表:Spring Cloud等
现状:适合混合式开发(例如借助Steeltoe OSS可以让ASP.Net Core与Spring Cloud集成),正值当年

1.3 第三代服务框架
代表:Service Mesh(服务网格) => 例如Service Fabric、lstio、Linkerd、Conduit等
现状:在快速发展中,更新迭代比较快

  首先,尽管Spring Cloud带有“Cloud”这个单词,但它并不是云计算解决方案,而是在Spring Boot基础之上构建的,用于快速构建分布式系统的通用模式的工具集。
  其次,使用Spring Cloud开发的应用程序非常适合在Docker和PaaS(比如Pivotal Cloud Foundry)上部署,所以又叫做云原生应用(Cloud Native Application)。云原生可以简单地理解为面向云环境的软件架构。
  总结 :Spring Cloud是一个基于Spring Boot实现的云原生应用开发工具,它为基于JVM的云原生应用开发中涉及的配置管理、服务发现、熔断器、智能路由、微代理、控制总线、分布式会话和集群状态管理等操作提供了一种简单的开发方式。
  Spring Cloud具有如下特点:
  约定大于配置
  适用于各种环境
  隐藏了组件的复杂性,并提供声明式、无XML式的配置方式
  开箱即用,快速启动
  组件丰富,功能齐全

2.eureka

eureka负责注册provider和consumer的服务信息
ZrEurekaApplication.class


@SpringBootApplication
@EnableEurekaServer
public class ZrEurekaApplication {

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

}

application.yml

server:
  port: 10086
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka
spring:
  application:
    name: zr-eureka

3.privode

provider负责与数据库进行交互,实现数据持久化,并给consumer提供服务
UserController.class


@Controller
@RequestMapping("user")
public class UserController {

    @Autowired
    private UserService userService;

    @ResponseBody
    @RequestMapping("{id}")
    public User findUser(@PathVariable("id") Long id){
        User user = userService.findUserById(id);
        return user;
    }
}

在这里插入图片描述

4.consume

consumer与前端交互,通过与Eureka同源的feign组件调用provider提供的服务实现业务逻辑,给前端响应
UserController.class

@RestController
@RequestMapping("consumer/user")
public class UserController {

/*    @Autowired
    private RestTemplate restTemplate;

    @Autowired
    private DiscoveryClient discoveryClient;*/
    
    @Autowired
    private UserClient userClient;

    @RequestMapping
    public User queryById(@RequestParam("id") Long id){
        //http://localhost:8081/user/1
       // User user = restTemplate.getForObject("http://localhost:8081/user/" + id, User.class);
    /*    List<ServiceInstance> instances = discoveryClient.getInstances("ZR-PROVIDER");
        ServiceInstance instance = instances.get(0);

        String url="http://"+instance.getHost()+":"+instance.getPort()+"/user/"+id;

        User user = restTemplate.getForObject(url, User.class);*/

        User user=userClient.findUser(id);

        return user;
    }
}

在这里插入图片描述

5.看板娘

js代码

<script type="text/javascript" charset="utf-8"  src="https://files.cnblogs.com/files/liuzhou1/L2Dwidget.0.min.js"></script>
<script type="text/javascript" charset="utf-8"  src="https://files.cnblogs.com/files/liuzhou1/L2Dwidget.min.js"></script>
<script type="text/javascript">
    L2Dwidget.init({"display": {
            "superSample": 2,
            "width": 200,
            "height": 400,
            "position": "right",
            "hOffset": 0,
            "vOffset": 0
        }
    });
</script>

css代码

 <style type="text/css">
        #live2dcanvas {
            border: 0 !important;
        }
    </style>

效果(右下角)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值