hooyantsing's Blog

第131次课程_微服务架构案例T2L2

字数统计: 543阅读时长: 2 min
2020/03/24

源辰76班

第131次课程

2020.03.24

内容

微服务架构案例T2L2[廖彦]

项目路径:****G:\YC74\200322_微服务架构案例T1L1\code

1.将实体类模块引入到其他业务模块的方式

common,通过Mybaits逆向工程插件,生成beas和dao类。

944c61a2913970c72aa4c4fd0cab985e.png

将common模块Maven install打包。

20cc67aab32b0b97429fca851722a930.png

再引入到parent2父类工程的pom.xml中

c5f91ef036ced2ec3092dc9a7bf9ead0.png

2.探究下服务器和客户端的yml配置文件

server模块

application.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 工程配置 ==> 默认的服务名
spring:
   application:
      name: ebuy-server
server:
   port: 8761
eureka:
   client:
      registerWithEureka: false
      fetchRegistry: false
---
spring:
  profiles: cs1
server:
  port: 8100
eureka:
  client:
    serviceUrl:
      defaultZone:  http://127.0.0.1:8000/eureka,http://127.0.0.1:8200/eureka
---
spring:
  profiles: cs2
server:
  port: 8200
eureka:
  client:
    serviceUrl:
      defaultZone:  http://127.0.0.1:8100/eureka,http://127.0.0.1:8000/eureka

index模块

application.yml

这里没有指定服务器地址,因此使用默认本机127.0.0.1:8761地址注册。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
server:
   port: 80
spring:
  application:
    name: ebuy-index
#连接数据库配置  
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/c76-s3-phooy-ebuy
    username: root
    password: a
    driver-class-name: com.mysql.jdbc.Driver
#mybatis
mybatis:
  #实体类别名 com.yc.C76S3PlySpringBoot.bean -> bean
  type-aliases-package: com.yc.ebuy.bean
  #驼峰命名法 类成员别名
  configuration:
    map-underscore-to-camel-case: true
#测试类配置  
logging:
  level:
    com:
      yc:
        ebuy:
          dao: debug
          web: warn

3. Feign调用逻辑

首页(80端口)的分发器和接口的关系

f40d73beb65b5c827c06bdfd8211796e.png

a7f934df0d7013fce5172e81231510ec.png

与熔断/降级的区别

和IProductCategoryAction接口同包下,创建一个ProductCategoryAction,并实现前者接口,实现的内容(方法的内容)为如果发生了熔断/降级,将执行的代码。

IProductCategoryAction和EbuyBackAction原本就是同一个文件,只是后面根据需要更改了类名,职能不变。

adab07f91fc695375c2d44d6e8760610.png

4.[补充]逆向工程 排序

NewsAction.java

升序asc

降序desc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package com.yc.ebuy.web;

import java.util.List;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.yc.ebuy.bean.EasybuyNews;
import com.yc.ebuy.bean.EasybuyNewsExample;
import com.yc.ebuy.bean.EasybuyProductCategory;
import com.yc.ebuy.bean.EasybuyProductCategoryExample;
import com.yc.ebuy.dao.EasybuyNewsMapper;
import com.yc.ebuy.dao.EasybuyProductCategoryMapper;

@RestController
public class NewsAction {
    
    @Resource
    private EasybuyNewsMapper nm;    
    
    @GetMapping("getNews")
    public List<EasybuyNews> getNews(){
        EasybuyNewsExample ne = new EasybuyNewsExample();
        PageHelper.startPage(1, 5);
        ne.setOrderByClause("id desc");
        List<EasybuyNews> list = nm.selectByExample(ne);
        return list;
    }
}
CATALOG