六.java进阶-微服务架构平台-DevOps低开平台-普元EOS学习这一篇就够了(详细)

前言

网上介绍普元EOS产品的文档不多。本文是本人参与迁移普元微服务架构、参与普元公司组织培训后,总结的实际落地学习文档。

一、DevOps介绍

DevOps 是一系列实践、工具和一个融合开发及 IT 团队的文化理念。DevOps 强调赋能团队、跨团队沟通与协作以及技术自动化。
就是让开发人员和运维人员更好地沟通合作,通过自动化流程来使得软件整体过程更加快捷和可靠,的一种方法论。
其包括6个阶段:

  • 计划(Plan)
  • 构建(Build)
  • 持续集成和部署(或者交付)(Continuous Integration and Deployment or Delivery)
  • 监控和告警(Monitor and Alert)
  • 运维(Operate)
  • 持续反馈(Continuous Feedback)

是贯彻整个软件生命周期的可行性方案。

什么是 DevOps?
DevOps及DevOps常用的工具介绍

二、普元EOS

Primeton EOS Microservices 简称普元EOS,是一个分布式环境下的微服务应用平台,提供微服务应用的开发、部署、监控、运维、治理等应用生命周期管理工作。
采用主流的微服务技术架构和敏捷高效的工程化DevOps交付体系,帮助企业实现传统集中式架构的转型。
快速开发:普元EOS平台简介

1.产品组成

1集成开发环境IDE
EOS MS IDE是集面向微服务应用的开发、组装、调试、维护、管理和发布与一体的集成开发环境,提供了前端项目、后端项目两种项目创建方式,可满足前后端分离。
2运行环境Server
EOS MS Server是支撑微服务的基础环境,提供了日志、异常处理、负载均衡、熔断限流、应用发现等一系列能力。保障服务运行。
3微服务管理平台Governor
Governor提供系统管理、应用管理、配置管理、日志查看、微服务监控等系列功能。
4注册中心Registry center
提供服务发现能力,各个微服务启动时,可向注册中心注册信息,其他应用可以在注册中心查询。
5配置中心Configuration Center
能够集中化管理应用不同环境和不同集群的配置。管理人员可以在Governor中集中修改并实时发布。
6日志中心Log Center
是收集、缓冲、存储、展示的标准日志中心架构。
7应用监控中心APM
是适用于分布式系统的APM业务员程序性能监控器,提供对分布式应用的性能指标监控能力。包括CPU、内存、SQL运行等应用行为监控。
8断路器监控中心Circuit Breaker Monitoring Center
其可以定义一系列监控指标,如:线程池、队列、请求数、成功数、失败数等,并可按应用、系统浏览监控信息。并支持微服务应用运行期的治理、调整熔断策略。
9网关API Gateway
是所有应用、终端、消费方统一接入系统微服务入口。其对内外进行了隔离,保证服务安全性。
10基础应用框架CoFrame
是产品自带的开源应用基础框架,方便用户二次扩展。
11统一认证平台IAM
即身份识别与访问管理,具有单点登录、认证管理和审计、动态授权等功能。实现权限的统一管理。
12软件开发工具包SDK
为了方便团队快速便捷开发,提供了统一的微服务架构应用开发工具包。包括:注解、异常、熔断、数据库持久化、服务发布等常用功能。

2项目创建实例

本例采用分布式微服务架构前后端分离的方式创建项目。
1后端项目

  • 架构分层:Controller+Service+DAO(复杂功能可使用DDD的面向领域四层架构)
  • 开发流程:
    • 创建项目:新建Maven项目。
      创建多模块Maven项目。boot模块为主模块负责项目配置与启动、api模块提供对外接口、impl模块提供实现。
    • 项目配置:application.properties配置数据源、项目名、端口、注册中心、配置中心;logback-spring.xml中配置日志;pom.xml配置依赖。
    • 定义接口:定义对外(系统间、系统内)RESTfull的Fegin接口。
    • 接口实现:实现Controller、Service与DAO 。
    • 运行。
  • 服务编排
    服务编排是IED的一个核心功能,其提供用画图的方式来写代码,实现低代码开发。

2前端项目

  • 开发流程
    • 1创建项目:创建前端项目初始化,可使用EOS提供默认前端项目复制。
    • 2创建Action:配置后台swagger-ui接口地址。
    • 3创建页面:创建View页面
    • 4配置路由:创建项目模块路由,合并路由
    • 5运行:配置目标URL。

3.特性注意点

  • 1系统内调用。
    同系统内不同应用(不同的微服务应用)调用属于系统内调用。
    服务端的API接口模块中,提供对外fegin clien接口。接口添加@FeignClient注解。并提供Fallback类,对应接口方法调用失败情况。
    客户端引入服务端提供api.jar,直接注入fegin clien接口类使用即可。
  • 2系统间调用
    不同系统间调用需通过网关,一个系统一个网关,由网关做统一路由处理。前端项目调用后端项目同样需通过网关。
    服务端不需修改,客户端代码中配置网关配置类GateWayConfig,通过resttemplate请求provider所在网关,然后由网关route转发到provider。
  • 3统一异常处理
  • a自定义异常enum枚举类,实现类SDKAppErrorCode。异常抛出时使用enum类中统一方法抛出异常,打印日志、返回错误码与错误信息。
  • 4application启动类。在原有spring boot注解上,EOS在此添加了许多如注册中心、服务编排、熔断降级、feign接口等注解。
  • 5功能发布
    新项目部署需在普元管理平台Governor上添加其信息。
  • 新建域、系统、系统编译打包域部署运行。
  • 发布服务:添加应用、配置网关、导入API接口、授权访问。
  • 6多模块项目结构
    后端采用多模块项目结构:API、IMPL、BOOT。
    • BOOT:入口模块,负责打包应用、启动、定义配置。需引入EOS启动包eos-dap-sdk-starter、application启动类上添加EOS特色注解、各配置文件中添加系统配置application.properties、logback-spring.xml等。
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值