2024基于统一开发平台服务接入指南_第1页
2024基于统一开发平台服务接入指南_第2页
2024基于统一开发平台服务接入指南_第3页
2024基于统一开发平台服务接入指南_第4页
2024基于统一开发平台服务接入指南_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

NSF接入指 API网关接入指 API网关签名认证流 签名流 计算签 API网关JWT认证流 CICD接入指 APM接入指 Redis开发规范说 RDSMySQL开发规 开发约 开发建 TCC模 FMT模 XA模 TCC、FMT和XA模式对 同库模 基于SDK的方式使 环境要 Jar包的获取和使 术语/NSFNSF(NewServiceFramework)是新一代微服务治理框APIAPIAPI发布、管理、运维、售NCSNCS(NewContainerService)新一代容器云平台,覆Kubernetes容器编排系统。APM为云计算的应用性能管理(ApplicationCICD专注微服务架构下的应用持续集成(Continuousintegration)、持续交付(ContinuousDelivery)方案,提供可视JWT(JsonWebToken)是为了在网络应用环境间传递JsonJWT的声明一般APP/WEBAPP/WEB容器云webconsole镜像仓库基于CNCF开源项目HaborHabor对所有Docker镜像都是支持的,包括windowsDockerDocker微服务NSFJava组件和框架如下表表格1JDK1.6、JDK1.7、JDK~gRPCspringbootgRPCSpring1.5.8~SpringCloud-SpringCloud-boot1.x、boot2.0.x、boot2.1.x、boot2.2.x及以上的版本;feignAPIAPIAPInsf2018-07-nsfheader中标准表示,并需要使用UTC时间,格式为:YYYY-MM-DDThh:mm:ssZ。如:2017-09-06T11:00:00Z(2017961900秒)则认为X-NSF-Date参数合法,否则则认为X-NSF-Date参数非法。headerheader;HostheaderX-NSF-Signature请求头以外的所有公共参数是必须签名算法版本,1.0HMAC-SHA256出哪一步骤发生了错误从而进行进一步修改。Boolean类型。AccessKeykey/valueURL5header,后跟换行符(header之间使用换行符连接headerhost:headerheaderheaderheadername/value使用:header后都加6header,header使用“;”连接,后7:SHA256HTTPShashAccessSercret1String2Sign作为加密哈API网关JWT生成API网关能识别的JWT的前提是有一个由颁发的外部认证的JWT访问APIJWT。RS256HS256HS256header为:JWTpayload,payloadissclaimJWTID(issclaimheader中,但是会优先查询nbfpayloadclaimAPIJWTJWT有效期内,则也会导致认证失败。最后使用JWTJWTJWTRS256RSA密钥对的私钥,APIRSAHS256、密钥c5dd504725d843218db209ffca5d82f3JWT为:keyAuthorizationJWTJWT。CICDCICD专注微服务架构下的应用持续集成、持续交付方案,是平台的开发流程管理系统,核心功能是流水线管理和部署平台。CICD兼容业内主流的开发工具、框架、中间件、测试工具等,用户可以快速接入。CICD流水线代码检出阶段支持的版本管理工具如表12表1Gitlab、HTTPS、表2JDK1.7、JDK1.8JDK1.8、JDK1.118.12-CICD流水线质量检测阶段有单元测试、集成测试和代码检测,其中单元测表3Mvn3.5-Gradle6-Docker的版本也有要求,可以提前给团队提需求进行定制(默KubernetesDocker版本)。KubernetesKubernetesKubernetes1.13.12APMJDK1.6、JDK1.7、7.x、8.x、2.5.2-JDK1.6、JDK1.7、7.x、8.x、2.5.2-apachehttpclient3、httpclient4、commonsSQL2.0.0-1.4.0-2.7.0-1.2.4、2、0.9.3、ElasticsearchRedisRedisRediscluster.14可RedisRedis服务的不RedisRedis中,对于低频冷数据可以使用MySQL/ElasticSearch等基于磁盘的存储方式,不仅节省内存成本,而且数据量Redis32Database来使用,以自然数来做区分,如果不选keykeykeyRedisCachekey一定要设置超时的超时长短要根据业务综合评估,而不是越长越好。(key长期有RedisKEYSRediskey数量较多时,操作效率极低(时间复杂度Hash、SetHASHField,往往使HGETALLField扩张HGETALL满等问题(O(N)),Hash结构;或者如果大部分都是获取所有属性的操作,String类型SMEMBERSSET结构类型时也是相同的情况。列表(List),集合(Set),有序集合(SortedSet),Bitmap,HyperLogLog和地K-V、计数类;Hash可以用作对象等,包含较多属性的信息;List可以用作消息队列、粉丝/关注列表等;Set可以用于推荐;SortedSet可以用如果必须确保关键性的数据可以被放入到Redis的实例中,强烈建议将其try/exceptRedis客户端采用的都是“发送即忘”策略,因此经常需要考虑一个key是否真正被放到Redis数据库中了。极限情况会造成宿主机宕机。请确保使用了正确的Redis客户端连接池配置。Redis当作存储来使用。rediscluster能够支持水平扩容,但是数据迁移过程中可能会带来业务swap,RedisswapOOM风clusterdowncluster-require-full-coveragenoslotRedis数据剔除算法不能完全保证正确性,可能会把设置了过期时间但还未Redismaxmemory上限。RDSMySQLRDSMySQLMGR(MySQLGroupReplication)的集MGRMGRInnoDBNull的唯一键,否则虽然能够创建表,但在写入数据时会直接报MGRIPv4MGR集群MGR集群中,locktables、unlocktables、get_lock、release_lock等表锁MGR集群中,节点间的通信比较频繁,过大的事务会导致节点间的MySQL的系统参数group_replication_transaction_size_limit150MB左右。MGR集群中,一个事务需要在大多数节点中达成一致后才能提交,MGR150MB,一个大事务尽可以拆分成若干个小事务,deletefromxx_tablewherecreate_time=IDMySQLID1MGR7insertIDMySQL本身来ID列。GTXS@GtxsTransactionGTXSGTXSXIDGTXSID,javaXA个分布式事务生成一个全局唯一的分布式事务ID。BranchIdGTXSID,它是事务分支的唯一标识。XIDBranchId事务分组:每个GTXS应用都需要申请一个事务分组名称,这个唯分组唯一Id。TCCFMTFramework-Management-TransactionTCCFMTXAXA,GTXSXAX

温馨提示

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

最新文档

评论

0/150

提交评论