关于微服务技术架构的思考

如果让我设计技术架构我会这样设计,我希望各位有不同的想法能够和我探讨。

请求应该首先打在堡垒主机的Nginx(运行docker拉取的镜像,应该还需要运行某些脚本配置与生产环境对应)上然后基于某种随机轮询或客户端地址hash的方式请求落在tomcat上,即是springboot内置的tomcat上面,提供该web服务应该是运行的jar或者war包.web服务将注入eureka注册中心提供的来自各分布式节点提供的微服务。如果是dubbo则使用zk注册中心提供的来自各分布式节点提供的微服务服务。配置集群模式至少应该打通各节点间的免密登录ssh

前后端数据交互基本使用http请求做json数据交互基本足够了,一些文档类型的传输可以使用mongodb提供副本集群上传下载文档的服务。做分布式缓存使用redis提供相应的服务(是否需要使用集群模式?分布式大牛与redis设计者何去何从)。分布式事务可以设计并使用本地消息表或者使用消息中间件。中间件使用docker提供相应的套接字访问方式,spring整合这些中间都是一贯的料性。
微服务读取套接字地址使用springcould的配置中心或者zk提供的配置文件读取方式均可。配置文件和源码应该在git库分别创建不同的文件夹用于分离。springcould的配置中心需要提供有消息中间件(集群)的套接字访问方式。如果使用docker提供rabbitmq的消息服务就不需要关注erlong的安装。对于持久化的mysql数据库我不清楚是否需要使用docker运行这样的容器,因为容器运行会丢失数据。而数据卷的学习需要花费一定的精力。花费更多精力的应该是docker提供中间件集群服务,虽然有直接的集群镜像,但如果不清楚最经典的集群配置方式后续会带来一大堆问题。
用户及其权限模块单点登录是否使用redis?
流程审核模块使用activiti还是其他技术?
线程异步处理是否需要quartz这种重量级框架?

基于多份数据带来的思考,数据备份往往消耗网络带宽,并在这备份的过程中,如果要保证主从一致,那么就必须保证从节点成功处理主节点下发的任务并告知主节点,主节点才算成功,主节点漫长等待从节点的回应能增加数据的安全性却让用户感到不耐烦,通常的做法是记个日志然后从节点异步处理,这时候如果异步到从失败,那么主从数据就会不一致。zk 使用paxos算法可以保证强一致。一些普通的选举算法并不附带强一致功能,而是通过一些网络流畅度的因素选举出主节点。
有新想法再更新。。。

原文地址:https://blog.51cto.com/12165865/2435716

时间: 2024-07-30 11:54:08

关于微服务技术架构的思考的相关文章

微服务核心架构梳理

Hello,Microservices 什么是微服务 微服务Microservices之父,马丁.福勒,对微服务大概的概述如下: 就目前而言,对于微服务业界并没有一个统一的.标准的定义(While there is no precise definition of this architectural style ) . 但通在其常而言,微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分成一组小的服务,每个服务运行独立的自己的进程中,服务之间互相协调.互相配合,为用户提供最终

微服务架构探讨及甲骨文中间件微服务技术解决方案

https://mp.weixin.qq.com/s/IWR_wIh2D-RmPuslR_JnXg 微服务架构探讨及甲骨文中间件微服务技术解决方案 2017-04-12 胡平 甲骨文开发者社区 随着传统企业受到互联网+的冲击,越来越多的企业都在面临业务转型,如何更好地贴近客户以获取更高的客户满意度,如何在企业内部加速供给侧改革,实现更好的供需平衡都是企业在业务转型中需要思考的问题.企业业务转型,离不开底层IT架构的支撑,所以最近很多很火的技术理念不断被大家所谈及,包括微服务架构.DevOps开发

“微服务” 的架构终将成为产品架构上的主流

在敏捷开发中, 我们确实找到了一个框架,能使领域专家,架构师可共同的协作,设计出一可适应变化的 ROA 架构. 但,我想应该从另一个角度来思考-- 团队中即使领域专家,架构师可共同协作,但毕竟领域专家,架构师都还是人,不是神.所以,到底能从当前的版本中,预测到多少未来需求的变化? 这实在是个无法答复的问题.所以,在实务上,架构到底能承受多少的变化,同样也变成个无法答复的问题. "假如,不走预测变化这条路做架构设计.那架构设计的思维又是什么?" 很简单-- "既然不能有效预测变

(二)互联网分布式企业 微服务云架构

第一篇文章简单给大家介绍了Spring Cloud架构,我这边结合了当前大部分企业的通用需求,包括技术的选型比较严格.苛刻,不仅要用业界最流行的技术,还要和国际接轨,在未来的5~10年内不能out.作为公司的架构师,也要有一种放眼世界的眼光,不仅要给公司做好的技术选型,而且还要快速响应企业的业务需求,能够为企业快速定制化业务.以下是我为公司规划的大型互联网分布式企业微服务云架构: 欢迎大家和我一同来搭建大型互联网分布式企业微服务云架构,我会把搭建架构的详细步骤记录下来,作为以后大家学习参考的资料

【干货】微服务技术栈选型手册2.0

一.前言 2014年可以认为是微服务1.0的元年,当年有几个标志性事件,一是Martin Fowler在其博客上发表了"Microservices"一文,正式提出微服务架构风格:二是Netflix微服务架构经过多年大规模生产验证,最终抽象落地形成一整套开源的微服务基础组件,统称NetflixOSS,Netflix的成功经验开始被业界认可并推崇:三是Pivotal将NetflixOSS开源微服务组件集成到其Spring体系,推出Spring Cloud微服务开发技术栈. 一晃三四年过去,

大型互联网分布式企业微服务云架构

第一篇文章简单给大家介绍了Spring Cloud架构,我这边结合了当前大部分企业的通用需求,包括技术的选型比较严格.苛刻,不仅要用业界最流行的技术,还要和国际接轨,在未来的5~10年内不能out.作为公司的架构师,也要有一种放眼世界的眼光,不仅要给公司做好的技术选型,而且还要快速响应企业的业务需求,能够为企业快速定制化业务.以下是我为公司规划的大型互联网分布式企业微服务云架构:欢迎大家和我一同来搭建大型互联网分布式企业微服务云架构,我会把搭建架构的详细步骤记录下来,作为以后大家学习参考的资料,

关于Spring Cloud大型互联网分布式企业微服务云架构

第一篇文章简单给大家介绍了Spring Cloud架构,我这边结合了当前大部分企业的通用需求,包括技术的选型比较严格.苛刻,不仅要用业界最流行的技术,还要和国际接轨,在未来的5~10年内不能out.作为公司的架构师,也要有一种放眼世界的眼光,不仅要给公司做好的技术选型,而且还要快速响应企业的业务需求,能够为企业快速定制化业务.以下是我为公司规划的大型互联网分布式企业微服务云架构:欢迎大家和我一同来搭建大型互联网分布式企业微服务云架构,我会把搭建架构的详细步骤记录下来,作为以后大家学习参考的资料,

SpringCloud微服务云架构构建B2B2C电子商务平台之-企业分布式微服务云架构构建(四)

今天正式给大家介绍了Spring Cloud - 企业分布式微服务云架构构建,我这边结合了当前大部分企业的通用需求,包括技术的选型比较严格.苛刻,不仅要用业界最流行的技术,还要和国际接轨,在未来的5~10年内不能out.作为公司的架构师,也要有一种放眼世界的眼光,不仅要给公司做好的技术选型,而且还要快速响应企业的业务需求,能够为企业快速定制化业务. 以下是我为公司规划的大型互联网分布式企业微服务云架构: 从现在开始,我这边会将近期研发的spring cloud微服务云架构的搭建过程和精髓记录下来

微服务技术选型之路

本文以笔者个人经历讲述关于微服务方面的技术选型和相关知识点.微服务模式的项目从初建到上线部署应用,每一个环节都会涉及到相当多的技术细节(上线后的性能调优更需要).本文着重介绍一套微服务搭建流程中面临的一些技术选型,战略性的技术方案及相关技术的简要介绍,不做每一项技术的深入说明. ?微服务简介 微服务是指开发一个单个小型的但有业务功能的服务,每个服务都有自己的处理和轻量通讯机制,可以部署在单个或多个服务器上.微服务也指一种种松耦合的.有一定的有界上下文的面向服务架构. 微服务是系统架构上的一种设计