应用Dubbo框架打造仿猫眼项目 用户模块开发
Posted 落尽难寻
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了应用Dubbo框架打造仿猫眼项目 用户模块开发相关的知识,希望对你有一定的参考价值。
章节概要
1.学会API网关权限验证和其他服务交互(用户服务)
2.学会开发开发springboot自定义配置
3.学会Dubbo负载均衡策略选择和使用
主要内容
一、修改GUS中的JWT模块
1.增加忽略URL配置
2.修改返回内容匹配业务
3.增加ThreadLocal的用户信息保存
二、业务功能开发
1.增加用户服务并提供接口
2.初步了解API网关与服务间的交互过程
3.根据接口文档开发用户接口
具体开发
1.建用户表
DROP TABLE IF EXISTS mooc_user_t; CREATE TABLE mooc_user_t( UUID INT PRIMARY KEY AUTO_INCREMENT COMMENT \'主键编号\', user_name VARCHAR(50) COMMENT \'用户账号\', user_pwd VARCHAR(50) COMMENT \'用户密码\', nick_name VARCHAR(50) COMMENT \'用户昵称\', user_sex INT COMMENT \'用户性别 0-男,1-女\', birthday VARCHAR(50) COMMENT \'出生日期\', email VARCHAR(50) COMMENT \'用户邮箱\', user_phone VARCHAR(50) COMMENT \'用户手机号\', address VARCHAR(50) COMMENT \'用户住址\', head_url VARCHAR(50) COMMENT \'头像URL\', biography VARCHAR(200) COMMENT \'个人介绍\', life_state INT COMMENT \'生活状态 0-单身,1-热恋中,2-已婚,3-为人父母\', begin_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT \'创建时间\', update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT \'修改时间\' ) COMMENT \'用户表\' ENGINE = INNODB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; insert into mooc_user_t(user_name,user_pwd,nick_name,user_sex,birthday,email,user_phone,address,head_url,life_state,biography) values(\'admin\',\'0192023a7bbd73250516f069df18b500\',\'隔壁泰山\',0,\'2018-07-31\',\'admin@mooc.com\',\'13888888888\',\'北京市海淀区朝阳北路中南海国宾馆\',\'films/img/head-img.jpg\',0,\'没有合适的伞,我宁可淋着雨\'); insert into mooc_user_t(user_name,user_pwd,nick_name,user_sex,birthday,email,user_phone,address,head_url,life_state,biography) values(\'jiangzh\',\'5e2de6bd1c9b50f6e27d4e55da43b917\',\'阿里郎\',0,\'2018-08-20\',\'jiangzh@mooc.com\',\'13866666666\',\'北京市朝阳区大望路万达广场\',\'films/img/head-img.jpg\',1,\'我喜欢隔壁泰山\');
2.测试API网关与服务间的交互过程
1)复制出一个guns-user模块(修改模块名称相关配置),修改application.yml中相关属性(修改启动端口,关闭jwt验证,增加dubbo地址)
2)user模块中实现UserApi中的方法,启动zookeeper,启动user模块
3)gateway模块中在authController中调用userApi的方法,看看user中是否有打印
3.gateway配置忽略列表
1)JwtProperties类、application.yml 增加忽略配置属性ignore-url
2) AuthFilter 增加忽略列表代码
4.基于用户业务的API功能修改,补全登录、注册、修改、获取等接口
5.去掉guns自身携带的用户名密码验证机制,使用UserAPI登录接口,修改jwt返回里包含userid信息,修改返回类型vo
6.增加ThreadLocal保存用户信息,当做session使用
7.user项目,用户模块开发,dao生成,服务开发
8.gateway项目,用户接口开发
9.用户相关接口测试
10.dubbo启动性检查 check=false(开发时可用,线上不建议)
11.dubbo负载均衡
以上是关于应用Dubbo框架打造仿猫眼项目 用户模块开发的主要内容,如果未能解决你的问题,请参考以下文章
打造仿猫眼项目 以Dubbo为核心解锁微服务 高清无密 百度网盘