1. 熟悉 linux 常用命令,安装常用的应用程序,使用 nginx 反向代理和负载均衡。
2. 熟悉的编程语言(java,python,c 语言,js)
3. 熟悉各种中间件的使用(redis,mongdb,kafka,ehcache,elasticseach)。
4. 熟练使用各种java框架(spring cloud,springboot,mybatis,,mybatis-plus)。
4. 熟练使用一些设计模式(如工厂模式、装饰器、适配器、代理、单例),熟悉大部分设计模式,
5. 使用过 AWS(sns,sqs,ec2,ses,dynamodb,sms,s3,lambda,api gateway),阿里云(ecs,oss,web 轻量级服务器》,华为云(Ecs,Apig,Obs,FG,kafka)的服务。
6. 设计过高性能,高可用,易扩展的的项目。
7. 需求文档分析,编写开发文档,FRD, 架构设计,DB 设计。
8. 数据库:使用过 PostgreSql,Oracle,Mysql 数据库,sql 性能调优。
CustomAlert Notification
项目描述:
警报通过自定义通知配置规则发送通知(email,sms,app,web)。用户可以通过web自定义通知配置,获取自己需要收到的通知。
项目职责:
设计警报处理组件,设计通知系统组件,设计自定义通知配置api,和通知历史api
技术要点:
将项目分成两个组件(警报处理组件,通知系统组件),通知系统组件设计为通用的组件,任何项目都能通过通知系统组件发送通知。警报处理组件又分了两个模块,警报的过滤模块和通知内容构建
模块。在项目拆分的过程种使用多种设计模式(工厂模式,装饰者…),枚举和泛型的使用让代码更加容易的处理统一行为,实现Java 面向对象的设计思想(高内聚,低耦合)。项目的细致的拆分让项目高可用,高扩展。