微服务实践--微服务方法论00
思想
在接收到一个新的新项目时,架构师的职责是建立项目的业务与技术实现之间的桥梁。在翻译业务到技术实现的过程中需要进行业务建模、技术设计等方面的工作。业务建模和技术设计过程中都有各自领域的知识体系。基本上每个知识体系都是由上层的理论、概念和方法论的提供方向上的支撑,由下层的实施方法、实施工具进行具体工作的实施。
在微服务实践系列文章中主要介绍在微服务实践过程中可能会考虑到的方向、以及这些方向可供选择的技术工具、并会涉及少量的架构设计理论知识。而在架构设计系列文章中会介绍架构理论、架构设计实践、以及架构设计中的分析与评估方法。
因为本系列文章主要介绍的是技术工具的内容,就会根据技术工具的特性进行介绍。不过本系列文章中不会像网络上其他的技术文章一样以某项技术为维度进行文章编写。而更像书本以技术的维度进行整理。以这种方式一方面是符合了我们的【实践】题目,便于在实践过程中使用技术工具组织整体架构。另一方面以技术方向而不是某一个技术实现,也是以一种自顶向下的思维方式进行说明(软件研发人员一般会使用自底向上的视为方式)。
技术方向
对于微服务中技术的全局中可能会有很多门技术需要学习与掌握。这里以一张图的方式为大家展示可能在微服务中遇到的技术与实现方向:
技术全景
作者把微服务实践中的技术方向有分了四部分:微服务管理,存储技术,业务支持,DevOps。微服务管理是介绍分布式系统的技术实现部分。存储技术独立出来的意义在于存储和大数据,人工智能等大型的独立系统有关系。业务支持是阐述在业务实现过程中可能会用到的技术,但是不和通用的微服务技术相关的技术。DevOps是在微服务设计和敏捷的提倡下需要接受一切自动化的方式。
技术工具
上图中的浅绿色部分,是说明所有的技术方向。之后所有的文章都会按照这个规范进行编写。右侧每一列都是一项技术实现,这些技术实现可能会涵盖不同的技术方向。所以,这里也会在下面的文章中在不同的技术方向上推荐不同的实现技术。例如:做数据库与缓存同步的工具可选范围不多的情况,我就只能推荐Gearman。
从图中可以看到微服务技术关注的大概方向,基本上整理出来五个大方向。并在五个大方向上有相关的具体技术方向进行补充。现在基本上就缺具体的实现技术选型:
- 微服务管理
内容发布
CDN,分布式存储等远程过程调用
RPC,RMI,JMS,AMQP,服务发现
DNS,zookeeper,spring eureka,spring consul,ETCD,REDIS服务注册
DDNS,zookeeper,spring eureka,spring consul网关
Zuul,Kong,Nginx Plus,OpenResty,Spring Cloud Gateway负载均衡
LVS,Nginx,F5高可用
Haproxy,keepalive服务编排
Netflix Conductor,uber/cadence,zeebe-io/zeebe,ing-bank/baker,Spring Cloud Zuul, Node-RED,ApiConfig统一配置
Spring Config,ctripcorp/apollo: Apollo,git,nginx,Consul,Netflix Archaius分布式任务管理
xxl-job,Elastic-Job,异步任务
AMQP,Spring Cloud,Dubbo高速缓存
Redis,Memcache,Mysql Memory DB,H2前后端分离
Swagger,API Gateway服务降级
Dubbo,Spring Cloud Hystrix服务限流
Dubbo,Spring Cloud Hystrix服务熔断
Dubbo,Spring Cloud Hystrix故障恢复
Docker,Swarm,K8s事务管理
sage,fescar,gts,Narayana动态选举
zookeeper用户
用户认证,权限管理,用户计费,会话管理OpenAPI
Kong,APIgee对象存储
minio,riakcs(亚马逊S3技术),ceph事件驱动
EventBus, spring event并发处理
akka,Actor全局唯一性编码
UUID,SetNX,雪花算法,规则引擎
Drools
- 存储技术
结构化数据存储
Postgresql,(不推荐Mysql)半结构化数据存储
redis,MongoDB无结构数据存储
hdfs,mfs,fastdfs
- 业务支持
LBS
木有开源滴。AI
BigData
全文检索
Lucene静态化
freemark智能推荐
mahout用户跟踪
木有开源滴。IDaaS(身份认证及服务)
暂未找到SEO/SEM
暂未找到网络爬虫
Python特性开关
Flagr,Togglz,FF4J,Fitchy,Flip租户管理
mybaits-plus,Citus,mycat第三方支付
需要聚合支付。可视化
Hue,impala,DataDeck,Tableau,Redash,Metabase,Superset
数据可视化
jtablesaw / tablesaw
Processing可视化编程
CoatiSoftware / Sourcetrail可视化控件
Echarts,D3.js,Tableua前端低代码
20+个可视化搭建工具,一次玩个够
信息推送
木有开源滴。
- 质量
代码扫描
自动测试
混沌实验
ChaosBlade,Chaos Monkey
- DevOps
运行环境
基础环境都在这里。
Terraform(基础设施即代码)升级
flagr部署
Puppet、Chef、Ansible和SaltStack版本管理
scm日志管理
elk,flume监控
Zabbix、Nagios、Open-Falcon可视化
全局可视化系统持续交付
Spinnaker指标监控
Telegraf InfluxDB Grafana应用性能
lb的使用情况调用链
zipkin,pinpiont,skywalking接口管理
swagger,yapi,rap2
总结
这里提供了完善的分布式系统,微服务,SOA的技术方向体系。之后可以方便的从本系列中选择最优工具加入到业务系统中。
出处:https://www.jianshu.com/p/b64fa4234549
微服务实践--微服务方法论00相关推荐
- 网易云容器服务微服务化实践—微服务测试及镜像化提测全流程实践
前言 近几年,互联网项目很多都有从单体服务转变成微服务化的趋势,尤其是一些架构复杂,业务比较广泛的项目,微服务化是大势所趋,可以解决独立构建.更新.运维等一系列问题,从而解放生产力,促进交付效率和质量 ...
- 2019年微服务实践第一课,网易谐云蘑菇街奥思技术大咖深度分享
微服务的概念最早由Martin Fowler与James Lewis于2014年共同提出,核心思想是围绕业务能力组织服务,各个微服务可被独立部署,服务间是松耦合的关系,以及数据和治理的去中心化管理.微 ...
- 微服务实践沙龙-上海站
微服务的概念最早由Martin Fowler与James Lewis于2014年共同提出,核心思想是围绕业务能力组织服务,各个微服务可被独立部署,服务间是松耦合的关系,以及数据和治理的去中心化管理.微 ...
- 老衣的微服务实践简要指引2017版
这是老衣在2017年5月份总结的,适用于中小团队跨平台微服务开发的实践指引(简化版).若有有不当之处,欢迎指点更正 因本文涉及到大量第三方库或工具,详细学习和了解需要参考相关官方文档.若您在使用Mac ...
- Java 微服务实践
楔子 目前业界最流行的微服务架构正在或者已被各种规模的互联网公司广泛接受和认可,业已成为互联网开发人员必备技术.无论是互联网.云计算还是大数据,Java平台已成为全栈的生态体系,其重要性几乎不可替代. ...
- 微服务构建思路与方法论
微服务规划.微服务构建.微服务协同.微服务测试.微服务治理.微服务下线等是企业采用微服务必须面对的微服务生命周期管理问题.我们讨论过微服务治理的问题,由于一些原因未能整理微服务拆分.微服务设计.微服务 ...
- SFDC 微服务实践之路 2016.12.10 杭州(整理)--转
原文地址:http://mp.weixin.qq.com/s/8cC4Ewt6yPjnxdYxuNZlFQ 微服务是什么? 微服务是一种细粒度(Fine-Grain)的SOA 或许在座的高朋了解过其概 ...
- Serverless 下的微服务实践
作者 | 弈川 微服务架构介绍 微服务架构诞生背景 在互联网早期即 Web 1.0 的时代,当时流行的是单体应用,研发团队比较小,主要是外部网页,然后新闻门户等:到了新世纪的互联网时期 Web 2.0 ...
- 实践微服务六年,我获得了这些心得体会
作为微服务架构的忠心拥趸,虽然有时也会对其感到不爽.使用微服务时,我时常能感受到"小中见大"."稳中有快"等理念,另一方面也会警惕"厨子太多烧坏了汤& ...
最新文章
- 服务器Jmail配置问题
- C++语言程序设计视频教程_清华大学_郑莉(基础篇+进阶篇)
- layui 隐藏工具栏打印按钮_PDF如何打印?为什么点打印没反应?
- 大数据(流量表)任务问题清洗生成新分区表过程
- Linux虚拟机配置作为旁挂路由器
- SQL优化:化解表关联的多对多join
- 小程序入门学习10--云开发03
- 用VS.NET 2005制作安装程序
- 分布式存储之GlusterFS软件安装及使用
- redis循环键_javascript – for循环从redis延迟获取项目
- 和菜鸟一起学android4.0.3源码之鼠标光标绘制简略版
- 【LeetCode LCP 3】机器人大冒险
- RTSP支持MPEG-4格式监控
- Unity3d——4种灯光的简介
- 把notepad++添加到右键打开方式(解决 打开方式 没有notepad++编辑器情况)
- 【BUG记录】Idea spring boot项目中target中没有同步更新最新目录文件及资源
- 光端机连接示意图详细连接方式图解
- 自学个JAVA编程有什么用_怎样自学java编程
- Unity Animator 动画没切换
- 国潮零食王小卤,获评2021年度十大风格化新品牌广告片