当前位置: 首页 > news >正文

手机网站开发在pc端wordpress网站地图

手机网站开发在pc端,wordpress网站地图,公共服务网站系统建设方案,wordpress设置了固定链接前言上一篇对微服的演变、优缺点进行了概述#xff0c;对于业务复杂项目#xff0c;微服务算是比较合适的解决方案#xff1b;对于咱们开发者来说#xff0c;有好的解决方案肯定要跟进学习#xff0c;但不能盲目追崇流行技术#xff0c;目的还是为了解决问题。这里就把As… 前言上一篇对微服的演变、优缺点进行了概述对于业务复杂项目微服务算是比较合适的解决方案对于咱们开发者来说有好的解决方案肯定要跟进学习但不能盲目追崇流行技术目的还是为了解决问题。这里就把Asp.NetCore落地微服务架构技术栈汇总一下(当然不限于此)同时制定了个学习分享计划和小伙们一起共勉正文将涉及的技术栈将其分为如下几个阶段进行归类后续学习分享的大方向也是如此对于需求阶段业务分析、测试阶段相关及最后应用阶段的服务这系列暂时就先不涉及而是主要针对开发技术、代码管理、应用部署、运维管理方面的技术进行汇总和学习分享对于上图的各个阶段可能在很多大公司将其职责划分得很清晰但对接避免不了(DevOps)所以了解和学习是很有必要的如果是中小型公司那可能开发是你、部署是你、运维还是你技多不压身来了就干不服就来学。注不是在项目中使用以下提到的技术就是微服务而微服务指的是业务之微技术只是对其进行落地实现开发阶段对于实现在开发阶段涉及的组件或框架颇多所以得花更多时间进行学习和实战如下‍开发阶段认证中心当划分的服务增多时单个服务的认证和授权显得更加冗余更希望有一个统一的认证站点每一个服务的认证都由认证中心站点进行处理咱们可以从零自己实现OAuth 2.0和OIDC提供授权和认证功能轮子肯定有人造好了拿来就用多好IdentityServer 4将授权和认证都有很好的实现从而使得开发人员有更多的时间关注在业务开发上。服务发现当服务不多的时候可能手动进行API地址配置实现调用还可以接受配置复杂性如果是对服务进行增加服务器扩展时还得手动进行配置那干这活的肯定要喷脏话了。如果使用Consul做服务发现自动识别各个服务同时还能进行健康检查及时过滤掉不可用服务增强高可用显得更加智能化减少人工配置的复杂性还能提升服务的高可用。网关(Gateway)网关的主要作用是进行路由转换、统一入口、隔离内网等当然还可以做一些服务熔断、限流、重试、缓存等相关功能。功能具体是什么意思怎么实现在后续的学习分享时会一一说到。而.NetCore中常用的网关为Ocelot和Kong路由转换根据配置规则将不同业务地址转换到对应的微服务地址上让业务请求由对应的业务API进行处理统一入口对于UI界面而言只关心一个入口即网关地址不用和每个微服务直接打交道降低请求访问复杂性隔离内网对外提供地址为网关地址内部服务通信都是通过内网使得站点安全性增强其他功能会在后续实操中一一说到服务间通讯虽然拆分成了各个小服务但始终还是一个系统对于一些业务依赖关系的服务会进行聚合或是通过服务间通信将数据整合统一返回给UI层常用的技术手段是通过Restful Api接口或是gRPC进行数据交互然后再进行数据业务处理。服务治理每一个小服务也是一个程序就有可能出现Bug、网络通信异常、服务器宕机等情况而导致服务不可用通常我们理想状态肯定是希望其他服务不被异常服务影响这样就需要对服务进行治理比如失败重试、服务熔断、失败降级等从而提升服务的可用性避免单个异常服务导致整个系统雪崩的现象.NetCore中会使用Polly库实现相关功能。NoSql-非关系型数据库通常的高并发场景下需要进行缓存和数据共享实现高可用而目前Redis是一个很不错的选择。对于一些文档型数据MongoDB存储更有优势当有大量数据时会有一些列存储的数据库对于搜索实现ElasticSearch存储实现会更加符合场景消息队列消息队列的三大好处异步处理、解耦、削峰通常在微服务系统业务处理中遇到一些复杂业务需要耗费较长的时间这样给用户体验就不友好咱们可以将涉及的业务通过消息队列分发给不同服务处理然后及时响应给用户业务后台异步处理体验感觉就不一样可能有小伙伴还会说直接多线程不就得了如果是这样的话那业务可能都耦合在一块后期维护又是一个很大问题对于一些高并发系统估计平时服务器都能承载请求但是存在某一时间段高峰访问如果请求都打到后台服务数据库数据库可能抗不住像这种短时段高峰的情况可以通过消息队列进行削峰避免高峰时刻搞崩系统目前比较常用的消息队列有Kafka、RocketMQ、RabbitMQ。CAP微服务就是分布式既然是分布式那分布式事务就避免不了最终数据一致性的问题那得解决对于分布式来说这是老生常谈的问题了并且提供了相关的解决方案而在.Net中有大神就封装了CAP并将其开源配合消息队列很好的实现了分布式事务控制Apollo试想如果每个服务都有一套自己的配置文件那部署和运维是不是很头痛而且对于一些公共配置数据也会重复在每个服务中配置使用如果有一套统一的配置中心是不是感觉非常爽所有服务的配置数据通过一个点进行维护和使用不管在开发维护、部署还是运维方面都带来便捷性可以自己实现也可以使用第三方的而Apollo现在相对来说是比较火的也有一些直接使用Consul扮演配置中心的角色当然还有使用在K8S自带的配置中心。后台任务既然用到微服务项目应该数据量也不会小通常会做一些报表分析数据同步等操作而这种耗时操作不希望在业务高峰时期执行需要在空闲时间定时操作即可针对这种场景后台定时任务就有用武之地啦。当然不仅仅是这种场景还有一些做业务数据重放或修复比如一个订单在操作中异步处理失败了可以在后台任务检查过程中进行再次处理等在.Net中用的相对比较多的是Quartz.Net和Hangfire。代码管理代码应该不用多说了小伙伴们应该都摸清门路了简单画个图如下代码管理代码规范不管什么架构代码规范一直是开发者严格要求的开发过程中得有良好的编码规范虽然每一个公司的要求不太一样但最终的目的是一致的规范化这样在后期维护就不会花费大量的时间去研究之前代码为什么要这么写。为了规范周期性的Code Review是必不可少的。代码版本管理对于代码版本管理工具用的最多应该是git和svn了其中对于分支的管理是非常重要的比如临时修复线上Bug怎么办常规开发怎么办紧急功能开发又怎么划分处理合理的规划代码分支不会让代码版本混乱从而引起功能的不完整或异常别小看这一件事经常因为版本分支问题导致生产功能出问题的事件比比皆是所以小伙伴开发过冲要注重哦因为持续集成离不开代码的管理部署提到部署可能有的小伙伴会说这不是运维搞的吗或者说这不应该有专门的人搞吗是的理想是这样的但事实就是小伙伴不仅负责开发还得要部署对于职责分明的团队至少你也得会不然对接有一大堆的尴尬。部署阶段操作系统现在部署更多的是推荐在Linux上了像Redis、ES、nginx等都是在Linux中发挥更好的性能而对于Linux估计有些小伙伴还不熟甚至只是听说还没操作不说多的关于开发和部署相关日常操作到时候我们来一起聊聊高深操作可以抽时间再去研究。当然Windows的操作到时候也能提到毕竟现在Windows服务器也没有说不用。持续集成(CI/CD)老式的手动发布和部署在微服务中显得力不从心了那么多服务做重复操作换做任何一个人也受不了如果多发几次迭代那这人就别干其他活就负责发布妥了。想想如果这些事自动化解决岂不完美而Jenkins搭配代码管理软件就能很好的实现自动拉取代码-自动构建-自动部署代码管理软件可以自己搭建比如Gogs或者使用gitlab、github等都行。通过监听代码的提交就能自动完成想想都美。容器化开发和运维干架啦一个说在我这行一个说在我那不行 别说那么多先干架再说哈哈哈为了不允许这种事发生容器化显得很屌开发发布打包生成镜像运维拉下来就直接跑啥都一样还有的说吗其实主要的目的还是提升工作效率啊现如今Docker是火的旺旺的但K8S的弃用能否让它走下坡路这似乎好像不太好说容器编排当容器集群扩展增多时就得有一个东西进行管理否则扩展会显得超级麻烦而K8S就很吃香针对容器集群管理更好的自动伸缩、自动部署还能搭配探针实现自修复运维功能开发完了、代码也上传了、站点也部署了用户开始用吧后续就很轻松了nonono这才开始应该很少有小伙伴拍着胸脯说没事我做的功能都没问题绝对没Bug好先假设开发没问题断电、宕机、断网咋整这种物理问题不能避免吧不管是做异地多活也好还是有其他方案至少得去弄吧那如果是业务问题呢排查问题更多的是靠日志了对于微服务这种架构有一个调用链的追踪会提供很好的辅助来先看看需要什么技术工具运维阶段日志分析之前单体架构登上服务器拷贝日志下来分析妥了而对于微服务这似乎不太可取拷贝日志不仅麻烦还耗时。如果使用Exceptionless将日志统一收集在一起是不是稍微好那么一点再加上做一个ElasticSearch和Kibana的查询分析是不是又加快了问题的分析速度。链路追踪微服务间的数据交互肯定避免不了有一个可视化的调用链路及监控就显得更加直观清楚的看到每次接口调用经过的服务点对于定位问题来说也提供很大的帮助能快速知道这次异常经过哪些服务处理缩小范围。而用的相对比较多的是SkyWalking和Butterfly。分布式监控系统微服务情况下只要一发布就不知道什么情况这样只有在问题发生之后才能去排查有没有一个监控系统对系统和服务运行环境进行监控能在危险范围内的时候提前给个告警及时通知相关人员处理呢prometheus搭配Grafana能将监控数据友好的展示和配置从而实现对服务运行环境的监控。总结对于微服务还是开篇说到的不是使用以上技术就是微服务架构而服务的划分更多是通过业务进行划分技术只是帮助其落地以上针对于各阶段的技术栈汇总并不涵盖全部仅仅是当下相对比较火且周围朋友用的比较多的有什么好的技术小伙伴可以分享。这个战线拉的很长但肯定会坚持学习分享。期间把Redis系列分享完之后还会穿插数据库优化系列的文章。
http://www.zqtcl.cn/news/862444/

相关文章:

  • 投诉举报网站建设方案宠物网站 模板
  • 生小孩去什么网站做登记有特点的个人网站
  • 汉中市住房和城乡建设局网站学网站建设需要什么
  • 深圳网站建设外包公司排名网络引流怎么做啊?
  • 关于做暧暧的网站php 网站授权
  • 网站上添加子栏目wordpress群组
  • 一站式手机网站制作有没有代做ppt的网站
  • 西安火车站网站建设网站的设计需要什么
  • 弹幕网站开发代码欧洲人喜欢什么样的服务器
  • 有哪些做壁纸的网站好ftp如何备份网站
  • 网站如何推广出去wordpress foopen
  • 网站空格键代码台州椒江网站建设公司
  • node 网站开发 视频教程汉阳网站推广
  • 广西新农村建设工作专题网站怎样创建公司网站
  • 中国十大招商平台谷歌优化软件
  • 做任务领黄钻的网站中国采购网招标公告
  • 网站建设三层架构实训报告德阳市网站建设
  • 有免费建网站opencms wordpress
  • 行业网站做的好的wordpress要有数据库
  • 重庆智能网站建设哪里好怎么在微信做企业网站
  • 甘肃建设局网站丰都网站建设公司
  • 四川建设设计公司网站网站建设好的图片
  • 建设旅游网站的总结做网站链接怎么做
  • 深圳网站建设建设wordpress cms 布局
  • 企业网站的建立必要性公司建网站哪家
  • 自己做的旅游网站 介绍免费的网站推广在线推广
  • 阿里巴巴 网站设计龙华建设网站公司
  • 番禺网站优化手机商城是什么意思
  • 如何做网站关键词wordpress安装卡死
  • word模板免费下载网站山东定制网站建设公司