1.熟悉java、golang基本语法
2.熟练使用spring、mybatis等常用框架
3.熟练使用mysql,redis,rabbitmq,elasticsearch登录常用中间件
4.擅长开发web应用程序
5.有系统架构设计经验
6.能够对复杂项目整理出清晰的文档
一.baas平台登录服务
主要分为:账号密码登录,短信验证码登录,扫码登录,小程序免登(oauth2,sso)等登录方式
1.通用模块:账号模块,用户行为模块,会话模块
2.差异模块:密码模块,验证码模块,免登模块
项目技术栈:spring-boot,mybatis,ace(私有rpc),redis,mysql
项目亮点:合理的设计模式,最大程度做到代码的服用,结构清晰,提取通用模块,各自实现差异化部分
1.以账号类型划分可以分为,前台用户登录,管理员登录,开发者登录 2.以登录方式划分可以分为账号密码登录,扫码登录,短信验证码登录,免登(小程序) 3.通用模块:校验账号有效性,首次登录校验,设置session,添加日志 4.其他模块:密码校验,验证码校验,图片验证码,扫码
控制平台管理员的权限的一套服务 主要维护人员-角色-权限点的关系 控制当前登录人员身上有哪些角色,这些角色又包含哪些权限点,从而控制人员可见的菜单范围 权限点中又包含业务接口,请求后台接口时,网关会判断当前人员是否有该接口权限,控制接口越权
主要提供搜索能力,如通讯录中人员,群聊、文件名搜索 底层可采用luence或elasticsearch,支持分词搜索,高亮展示 也可以与其他服务对接,提供上层业务搜索能力