云原生实践 2021.12---2022.05
背景:该项目为本人开源项目,是基于本地项目(4个java微服务+1个golang)从零转向云原生项目的实践,开发环境为6台腾讯云服务器,前提是已熟悉k8s的各种操作。
使用技术:kubernetes、docker、helm、istio、golang、spirngboot、springcloud、promethus、grafana、ELK、jenkins、rabbitmq、kafka、ceph、mysql等
工作职责:独立完成云原生项目的方案设计和开发落地
工作内容:
1. 基于gin、client_go开发k8s的PaaS平台,能够操作各种常见的内置资源和自定义的crd资源,websocket实现webssh和web端进入容器
2. 基于kubebuilder实现operator,封装deployment和StatefulSet,与services绑定,市之生命周期一致,避免端口占用,并模拟istio注入边车,webhook对新增字段进行赋默认值和校验
3. helm部署kafka、rabbitmq集群并集成到springboot中使用,部署Promethus和Grafana编写资源对象监控集群内和集群外的服务
4. 编写java和go的dockerfile及k8s的部署资源文件,采用jenkins实现cicd
5. 编写pv、pvc、storageclass等资源,为各种中间件提供存储,底层存储采用本地存储和nfs存储,部分采用rook部署的ceph分布式存储提供的rbd和对象存储
6. 基于istio实现微服务百分比流量的分阶段灰度发布:
①实现服务网格化
②考虑istio与springcloud冲突,移出eureka,采用k8s的coreDNS做服务发现
③绑定边缘服务到入口网关istio-ingressgateway
④ 编写DestinationRule和VirtualService,基本版本和权重实现分阶段流量切换,在VirtualService中匹配固定请求头标记为金丝雀用户
⑤编写测试脚本调用,通过kiali面板观察灰度发布方案已实现
四川新建康成生物股份有限公司 担任数据中台 2021.05---2022.05
产品:新成数字化平台
背景:本项目是一个基于物联网的大数据项目,通过仪器上报数据开发数据可视化平台,为客服部提供数据服务、为仪器研发部提供异常检测和运维服务、为管理层提供决策支撑。
使用技术:golang、springboot、mysql、clickhouse、redis、docker、promethus和grafana、ELK、emqx、xxl-job、jenkins、nginx等。
工作职责:负责对接仪器数据,保证线上服务正常运行,参与项目的技术选型和架构设计
工作内容:
1.服务转为容器化部署,中间件用docker-compose部署
2.集成xxl-job,编写各种定时任务,保证数据的一致性和服务的可用性
3.采用golang开发质控校准服务,并集成promethus,在granafa实现可视化
4.使用emqx作为双向通信消息队列,负责对接不同类型设备的数据上报和参数下发
5.参照redash看板,实现sql的模板引擎,提高开发效率
6.使用clickhouse替换mysql,负责clickhouse的部署和业务层代码的修改
7.实现服务多副本,在nginx配置负载均衡
8.搭建elk日志系统,为仪器研发部提供日志查询服务
四川我要去哪科技股份有限公司 java开发工程师 2020.12---2021.05
产品:差旅壹号
背景: 本项目是针对差旅出行的一站式服务平台,包括酒店预定、地面交通,火车票等产品服务。对企业,提供供一站式的差旅报销;对个人消费者,提供酒店预定、购票等服务。
使用技术:springboot、springCloud 、Elasticsearch 、Redis 、mybatis、mysql、docker+k8s运行于阿里云平台。
工作职责:所属酒店事业部,负责对接酒店品牌供应商到平台,维护酒店搜索功能
工作内容:
1.维护Elasticsearch 酒店搜索列表,为其他微服务新增ES 查询接口。
2.为了提高平台丰富度,对接酒店供应商,完成基础数据落地及完整交易流程, 通过 groovy 脚本热部署的方式实现。
3.由于询价接口限流等因素,提出采用