大型供应链系统技术架构设计方案_第1页
大型供应链系统技术架构设计方案_第2页
大型供应链系统技术架构设计方案_第3页
大型供应链系统技术架构设计方案_第4页
大型供应链系统技术架构设计方案_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

某大型供应链系统技术架构设计方案目录01整体设计02核心技术03应用案例应用架构演进AllinoneHAP开发平台单体架构Vertical多HAP集成分布式架构SOAHAP+服务治理面向服务架构MicroserviceChoerodon微服务开发平台微服务架构前端基础架构技术堆栈中间件ETL后端数据前端基础公有云本地私有云容器RedisNoSQLDBMongoBootstrapRDBMSNewSQL微服务SpringBootSpringCloudMybatisIstio前端框架移动混合应用CordovaMQKafkaRocketMQDevops监控HarborGitlabNexusSonarQubeHelmJenkins容器管理MavenSpockJmeterSeleniumKibanaPrometheusFluentdZipkinElasticsearchFilebeatGrafanaGraylogZabbixHystrix11.11.21.31.422.12.22.32.43456785.15.25.3MySQL大数据HortonworksClouderaTranswarpKettle调度ElasticJobChoerodonPaaS平台(已开源)存储计算网络服务器安全容器注册容器编排弹性扩展资源监控集群管理用户故事看板管理代码管理问题管理测试管理CD/CI冲刺管理……实时监控访问管理日志管理资产管理计量计费运营管理API管理……Devops管理基础

设施容器

编排微服务SRM服务供应商管理供应商管理服务采购协同送货协同财务协同采购流程服务服务治理环境管理服务管理API生命

周期管理服务版本服务监控熔断管理限流管理节点组管理灰度发布

管理渠道供应商门户移动APP微信目录化采购模块目录化采购网关服务API入口、动态路由鉴权服务访问权限控制认证服务登录认证控制身份管理服务用户角色、菜单权限门户管理服务调度服务服务治理服务工作流服务基础服务技术应用报表服务……主数据服务业务应用……支付服务电子发票服务注册中心服务服务注册发现配置中心服务配置推送事务服务Saga事务一致……目录化采购门户产品架构体系功能架构基本功能辅助

开发包数据字典值列表管理多语言定义参数管理调度管理执行器管理任务管理并发请求管理文件管理权限菜单管理单据权限分配数据权限分配角色管理base包config包exception包util包redis包cache包captcha包message包jackson包convert包定义了一些基础常量如日期格式等,以及BaseController如字段非空校验、字段长度校验等包含配置文件信息获取、依赖关系定义以帮助JavaDoc中生成类的依赖关系说明提供了基础的异常类,以及全局异常处理器多工具包,如JsonUtils:JSON解析转换Reflections:反射工具类EncryptionUtils:加密解密工具类封装了redis的常用操作,可以方便地操作各类redis数据结构使用注解根据配置从redis缓存中获取值,主要包含通用获取KeyValue、获取LOV的KeyValue提供了基础的静态验证码功能提供国际化消息相关的操作序列与反序列化应用,包含忽略时区转换注解、字符串两端空格过滤、页面敏感信息加密查看封装了一些自定义的参数转换,如时间格式转换开发

组件国际化支持数据防篡改数据加密存储客户端

组件EXCEL导出文件管理客户端统一编码规则应用消息应用客户端调度执行应用文件导入客户端……服务治理通用服务门户管理服务调度服务服务治理服务工作流服务数据分发服务报表服务登录&注册用户管理消息管理短信管理邮件管理站内消息管理数据多语言TL语言表字段多语言主数据管理HR组织架构业务组织架构数据分发管理系统配置个人首选项静态文本管理编码规则租户管理报表展现门户管理SQL数据集定义、参数定义、数据模型可视化定义;套打报表报表访问权限控制首页&个人门户Activiti工作流引擎审批条件管理审批路径管理动态提醒流程汇总页面审批工作流程门户模板公告管理布局个性化文本展示……待办集成数据源管理报表定义平台个人工作台环境管理服务管理API生命周期管理熔断/限流管理节点组管理产品管理……支付服务电子发票服务网关服务API入口、动态路由鉴权服务访问权限控制认证服务登录认证控制身份管理服务用户角色、菜单权限基础服务注册中心服务服务注册发现配置中心服务配置推送事务服务Saga事务一致Swagger服务接口测试Framework……文件导入服务海马汇服务移动设备管理消息推送……开发者服务即时通讯子应用管理IoT服务……设备管理服务MQTT服务连接管理服务其他服务……语音识别连接文本关键字段提取OCR连接融合产品共享服务A-不同节点组访问系统分层架构…A服务租户J1

DBDatabaseA服务租户J2

DBDatabaseA服务租户Jn

DBDatabase…A服务租户L1

DBDatabaseA服务租户L2

DBDatabaseA服务租户Ln

DBDatabaseB服务租户m

DBX服务(租户共用)

DB…租户J1租户J2租户Jn节点组J…租户L1租户L2租户Ln节点组L…共享服务B-单租户租户m节点组M通用服务X所有租户RibbonLoadBalance分流B服务集群1…NX服务节点1…NA服务节点集群(X1…Xn)A服务节点集群(Y1…Yn)分流规则:节点组(租户/用户/服务维度)与服务节点关系规则OauthServer

登录验证ZuuLServer

网关……DB服务

层分流层网关层前端消息服务文件服务通用服务X…SRM前/后端开发产品&服务包CRM前/后端开发产品&服务包调用/封装组合多个依赖共享服务…调用通用服务通用

服务PC端前端节点1…N,多IP/域名APP端/小程序端负载层Nginx+Lua设置规则,对应多套网关,通过规则找到前端和网关Gateway-Helper

鉴权、限流服务/租户DBDatabase规则服务/租户DBDatabase规则Database规则Database规则SRM微服务关系图SRM接口服务询竞价寻源服务招投标专家库价格库合同模板合同服务合同条款合同管理电子签章生命周期注册管理等级管理企业征信考评管理考评模板考评指标考评结果供应商服务需求管理采购申请需求池需求分配订单管理采购订单订单审批订单确认财务管理开票申请应付发票付款信息采购执行服务送货管理送货单采购接收库存管理主数据服务采购品类物料供应商单位汇率税率国家地区银行接口服务目录化商城服务电商管理目录管理商品管理订单管理电商接口售后管理商品搜索接口配置标准API前置机监控消息队列管理接口监控流量控制错误重跑ERP前置机服务第三方电商服务第三方应用市场服务质量服务资质审核分类管理风险扫描8D创建8D审核8D反馈质检查询平台服务目录01整体设计02核心技术03应用案例技术架构:采用Choerodon微服务框架SSO登录访问菜单调用各应用服务…应用……应用UUIDUUIDJWTTokenRelayAccessCheckLoadBalance服务网关ZuulServer服务发现

EurekaHystrix熔断CloudBus消息管理TurbineSwagger接口管理Ribbon负载均衡LDAP用户认证服务应用服务1应用服务2……服务服务权限/菜单角色用户系统/租户应用微服务调用验证服务获取UUID调用访问服务Choerodon提供一套完整的基于SpringCloud的微服务开发框架。借助Choerodon的微服务开发架构,以及容器为微服务提供的轻量级、面向应用的虚拟化运行环境和理想载体,并以Kubernetes作为容器编排工具,帮助企业方便快捷的构建应用服务。控制项目复杂度将原来的单体式应用拆解成多个服务运行在不同进程中,这样可以只针对相应的服务进行修改,部署对应的服务进程,控制复杂性业务模块化,加速迭代速度松耦合的结构,让每个开发团队都可以根据自身情况去选择更适合的技术与工具,进行更有效更灵活的开发。独立部署,提升效率将复杂的业务逻辑根据功能剥离开来,让它们具备独立的进程,每个服务也就可以独立的编译打包部署。错误隔离每个服务都具有独立性,提高系统的容错性。不会因为单一服务发生延迟,导致所有应用资源(线程,队列等)被耗尽,造成雪崩效应。技术架构:采用前后端分离浏览器ViewTemplateModelJsonDataControllerMicroService前端微服务后端微服务用户前端可以选择使用多种技术,例如react等后端采用SpringBoot技术架构:无状态通信移动应用Web应用物联网设备APIGatewayOrderServiceXXXServiceGoServiceProductServiceRESTFulRESTREST微服务技术架构:认证Gateway认证服务转化器资源所有者客户端用户信息RESTAPI微服务RESTAPI微服务用户名/密码TokenTokenJWTTokenTokenTokenJWTJWTJWT技术架构:日志收集……其他服务器数据源日志收集应用日志调用链数据存储日志过滤/缓存日志存储ElasticSearch1ElasticSearch2ElasticSearch3ElasticSearchn数据展示应用日志调用链应用日志调用链其他日志技术架构:调用链15微服务zipkin微服务zipkin微服务zipkin微服务zipkinKafka报告数据Zipkin-collectorZipkinQueryZipkinUIMonitorSystemSparkDependency查询数据存储数据ElasticSearchElasticSearchElasticSearch…查询数据SaaS的DB层设计共享服务:各产品的业务服务通用服务:

可给各产品公用的通用服务采购管理开票管理……支付服务公告服务……租户Code+服务Code组合规则:租户的业务量不大指定Database规则:某个租户业务量很大的情况,拆分使用独立DB混合规则:提供通用服务给所有租户每个租户的每个服务都对应一个DBDatabase\Schema单个租户的每个服务或单个租户直接对应一个DB或集群,这里是单租户组,即支持一个租户有自己独立的DB表中含租户ID,一个DBDatabase的数据只有一个租户ID表中含租户ID,一个DB或集群的数据包含多个租户ID所有租户共用一个DB或集群,可指定某些租户使用按租户Code+服务Code命名的Database服务服务\租户

DBDatabase规则DB设计指定Database规则:被排除在全租户组外的大业务量租户,使用独立DB可支持单独针对某些大应用的租户独立部署服务节点、DB或集群,即支持一个租户有自己独立的DB表中含租户ID,一个DB或集群的数据只有一个租户ID对于OP单租户模式,可能会使用非Mysql\TiDB的DB,此时不需通过规则,而是每个服务使用一个DB或DBSchema,部署服务时直接指定数据源数据分发1、平台主数据分发到租户对应DB2、租户主数据分发到租户对应DB3、租户业务数据分发平台数仓4、根据服务数据源策略部分配置跨DB查询系统应用多数据源1、无需数据分发2、配置跨DB查询系统应用单数据源应用UI提炼自企业级中后台产品的交互语言和视觉风格;开箱即用的高质量React组件;使用TypeScript构建,提供完整的类型定义文件;全链路开发和设计工具体系。AntDesign一套企业级UI设计语言.高可靠性MasterSlaveSlaveSlaveSlave存储层高可靠性存储共享:多个节点共享数据存储,任一节点宕机不影响整个数据库(OracleRAC)TIDB多个副本数据同步:使用Raft在多个副本之间做数据同步,从而保证数据的强一致,单个副本失效时,不影响数据的可靠性。主从复制:主机宕机后切换到备机(OracleDataGuard,MySQLReplication)多主复制:可同时读写任意一个节点,数据最终一致(MariaDBGalera)服务层高可靠性服务层无状态化,集群中的节点完全可彼此替代任何一个节点宕机都不会导致系统停止服务海量并发海量并发读取使用缓存减轻数据库压力冷热数据分离,热数据进入缓存应用分片策略构建大规模分布式缓存海量并发写入典型场景:事件驱动的海量用户注册待写入数据存入高性能队列启用数量稳定的线程组(可能分布于多台节点),从队列取数,执行DB写入待写入数据批量处理,事务合并海量并发竞争典型场景:抢红包、秒杀避免数据库锁用队列实现请求串行化利用分片策略,将请求分布到多个队列确保同一资源的请求被放入同一个队列队列后端用一个线程执行资源分配Redis全内存操作非常适合此类场景秒杀类应用可部署到云端,应对突发增长的网络流量可伸缩WebWebWebWeb集群微服务集群MQ水平扩展水平扩展Web层/服务层可伸缩Web层轻量化,与后端业务逻辑处理节点分离部署通过消息队列进行异步、分布式处理服务层无状态化,通过网关服务发现服务间调用通过Ribbon进行负载均衡发现服务存储层可伸缩Mysql:支持Mycat分库分表Oracle:支持加RAC节点,共享存储TiDB:使用Raft协议来保证水平伸缩性Zuul网关Eureka服务发现服务1Ribbon服务2Ribbon服务3Ribbon服务2RibbonNginx负载均衡安全性物理层容器隔离,内外网隔离,安全区关闭非应用端口启用VPN接入采用SSL安全协议进行加密传输操作系统层选择安全性更高的操作系统定期升级安全补丁严格的用户管理以及密码策略启用必要的系统安全日志和审计措施数据库层严格控制数据库用户的权限关闭一切不必要的远程管理服务系统应用层SQL注入攻击预防XSS跨域脚本工具防御必要的应用审计机制多级管理员设计应用+资源+权限多层次权限控制机制多维度数据过滤敏捷+DevOps:基于猪齿鱼平台DevOps管理22ProductBacklogSprintBacklogPotentiallyShippableProduct用户故事燃尽图敏捷管理每日站立会1/2周CI服务器环境流水线二进制库生产环境测试环境开发环境部署流水线代码质量检查代码库CI服务器代码库开发流水线CommitBuild+UnitTest+CodeQualityArtifact测试测试脚本测试工具CI服务器Issue跟踪测试指标INTQAUAT测试环境测试环境冲刺每日站立会评审/回顾持续交付持续测试持续集成持续反馈持续反馈持续反馈持续反馈AgileDevOpsCD/CI详细流程2323构建测试结果1–Check-in2–FetchChanges3–自动化构建4–自动化测试5–结果6–查看结果DockerImageDeployConfig7–生成镜像和部署文件开发工程师开发工程师开发工程师GitlabGitlabCICDServer版本控制版本控制v0.5.0v0.5.1v0.5.2…v0.5.10开发流水线部署流水线开发环境测试环境生产环境环境管理网络域名实例容器v0.5.10v0.5.9v0.5.88–部署到开发环境9–部署到测试环境10–部署到生产环境单元测试代码质量检查代码覆盖率…敏捷开发代码质量检查目录01整体设计02核心技术03应用案例符合大型企业结构的HR组织架构27租户公司集团(事业部群)部门部门子集团子集团岗位岗位员工公司公司子公司子公司部门部门子部门子部门主管岗位员工下级岗位员工员工小型企业组织架构大型企业组织架构集团公司树部门树岗位树支撑角色多层级管理支撑供应商分层级准入满足多行业大型公司的组织架构设计,支撑角色/供应商多层级管理等业务场景多级组织架构抽象定义层级树形管理公司抽象聚合权限机制(资源层)28招标大厅打印API查询APIxxAPI创建APIxxxAPI导出API评分API权限集a权限集b权限集c功能权限集资源满足更精细的权限管理要求:

采购员-功能维度-招标大厅:拥有创建、查询、打印、导出等所有权限

招标专家-权限集维度-权限集a&c:拥有查询、评分、导出、打印权限

审计-权限集维度-权限集a拥有查询、打印权限功能可细分至API级的权限管理基于API自定义权限集合访问权限:多级管理员API/功能用户角色权限收回角色复制角色继承角色分层级权限分发多层级角色管理平台管理员华润管理员子集团华润制药管理员子集团华润水泥管理员子公司华润医药管理员子公司东阿阿胶管理员采购部管理员信息部管理员计划专员采购专员角色分级管理权限自动分发权限一键收回(父-子-孙)父角色可管理下级多层级角色权限角色复制、继承操作方便快捷适应更复杂的权限管理需求访问权限:支持SaaS的权限体系设计-角色复制及继承角色继承体系超级管理员(平台管理员)租户管理员XX集团分公司管理员租户采购员XX集团四川采购员XX集团四川采购管理员角色复制:复制其权限等创建新角色角色继承:功能可以在继承体系内灵活调整,例如,平台级通用默认角色的菜单功能(采购员、采购经理)可以被继承,当平台级通用默认角色新增或减少功能时,继承而来的其他角色也可以同样更新菜单结构建设目标平台采购员继承约束条件可被复制或继承的角色范围:当前用户有权限访问的所有角色,包括自己创建的角色子树、以及被分配的角色只能做单继承:只能继承一个角色备注:当前管理员用户被分配的角色其只能做进一步复制和继承,但不能做分配序号角色继承角色1租户管理员平台采购员2XX集团分公司管理员平台采购员3XX集团四川采购管理员平台采购员4XX集团四川采购员平台采购员角色继承关系表组织机构或者管理员角色末级角色创建继承访问权限:支持SaaS的权限体系设计-权限分配用户租户角色权限菜单产品微服务权限集角色权限分配可按照产品/服务/模块/权限集/权限各个层级去分配权限,逐层设置可进一步减轻设置工作量。用户角色分配分别在不同层级为用户分配角色。用户可以在导航栏选择组织或项目,并进入到某个组织或项目中进行操作。以实现多租户访问。物人权*详见多级管理员用户角色用户角色关系客户端切换租户:来源类型:全局/租户(组织)/项目来源ID:全局-0/租户-租户ID/项目-项目ID当拥有多个租户的角色时,即可访问其他租户功能,也即可以实现多租户访问备注:租户ID取自角色创建体系中租户层级管理员角色分配时的租户ID,*详见多级管理员模块数据权限:灵活的屏蔽配置灵活自定义:可按租户定义SQL编写规则进行权限屏蔽的灵活调整。规则可应用当前租户、用户、角色字段租户与服务维度应用:规则可作用于表或SqlId,针对服务、租户生效数据权限:针对角色与用户的应用采购订单权限维度公司权限维度业务实体权限维度采购员启用启用启用公司-华润制药OU-三九制药采购员-王五权限维度定义角色应用维度用户不同维度权限值维护该用户仅可查询来自华润制药公司、三九制药业务实体且采购员为王五的采购订单;非采购订单的数据,该用户无法查询最终数据屏蔽实现实现更灵活的数据权限配置单据类型自定义权限维度配置维度配置关联表字段生成屏蔽规则单据类型定义工作流:支持灵活的配置,搭建健全的业务审批管理流程图形化条件审批串行审批流程代理并行审批流程提醒动态配置自定义12345自定义,图形化,可视化灵活配置工作流,支持图形化工具快速查看流程状态等动态配置,条件配置支持按条件进行不同流转流程代理,流程提醒支持设定流程代理人,支持用户提醒串行审批,并行审批支持按节点与阶段的逐步审批,支持某一节点的并行审批,互不影响流程会签;流程退回;流程抄送转发工作流数据维护审批申请、订单审批费用申请与报销各类业务单据等工作流界面配置化资源操作灵活可配置:租户、用户可以自定义页面各资源权限,比如显示、必输、隐藏、可编辑等降低开发难度:可直接个性化配置新页面,配置表格、Grid以及应用简单逻辑开发效率提升:代码生成器可根据数据表生成相关的DDD模型,MVC框架样板代码和DBGroovy脚本。HZeroFront开发模式–前端前端工程采用npm包依赖的方式兼容升级HZero平台功能SRMHPFMHIAMSPFMSMDMSODRSPRMSSLMSSRCHWFLHMSGHIMPHFILENPM依赖HZero

组件开发模式–后端后端工程采用maven依赖的方式引入平台基础组件进行开发SRMHZERO-STARTER-COREHZERO-BOOTSRM-PLATFORMSRM-MDMSRM-ORDERSRM-I

NTERFACESRM-SUPPLIERSRM-SOURCEHZERO-PLUGINmaven依赖SRM

组件SRM-PARENTSRM-BOOTSRM-PLUGINmaven依赖与SAP接口40企业网络SRM网络Receiver服务Interface服务RocketMQ发送消息消费消息寻源服务采购协同服务SRM数据库数据传输HTTPSHTTPSJCO调用IDOC解析前置机服务…SAP开源软件版本清单编号开源软件名称(Component)版本号(Version)许可证协议(License)1SpringBoot1.5.3Apache-2.02SpringCloudDalston.SR4Apache3Mybatis3.4.2Apache4Liquibase3.5.3Apache5Spock1.0-groovy-2.4Apache6ApachePOI3.17Apache7Undertow1.4.13Apache8Zookeeper3.4.9Apache9Kafka2.0.0Apache10Redis4.0.2BSD3-clause13Kubernetes1.8.5Apache14Docker17.05Apache15Activiti6.0.0Apache-2.016Quartz2.2.3Apache-2.017React16.2.0MIT18AntDesign3.7.5MIT19dva2.2.3MIT20roadhog2.3.0MIT21moment2.19.0MIT22lodash4.17.4MIT23maven3.3.9Apache-2.0开源软件版本清单编号开源软件名称(Component)版本号(Version)许可证协议(License)24commons-io2.6Apache-2.025commons-collections44.1Apache-2.026commons-lang33.7Apache-2.027commons-codec1.11Apache-2.028commons-beanutils1.9.3Apache-2.029guava25Apache-2.030jackson-core2.9Apache-2.031logback1.1.11GNUGeneralPublicLicensev3.032Hystrix1.5.13Apache-2.033Ribbon2.2.2Apache-2.034Zuul1.3.0Apache-2.035Okhttp3.8.1Apache-2.036commons-logging1.2Apache-2.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论