分布式技术

微服务架构下的分布式架构搭建环境架构图

 ̄綄美尐妖づ 提交于 2019-12-02 16:57:44
架构图: 准备工作: 技术选型: 使用SpringMVC进行表述层开发 使用MyBatis进行持久化层开发 使用Spring进行组件整合并管理声明式事务 使用Maven作为依赖管理和构建管理工具 使用BootStrap前端样式框架生成页面效果 使用MD5加密算法对用户密码进行加密 使用SpringMVC异常映射机制进行了异常信息的统一管理 使用MyBatis的PageHelper实现持久化层分页 使用jQuery的Pagination插件在页面上显示分页页码 使用BootStrap的模态框组件显示弹层窗口显示表格或表单等等 使用layer弹层组件显示提示消息 使用jQuery的on()函数给动态生成的元素绑定事件响应函数 使用zTree框架在页面上显示Permission数据的树形结构 通过在数据库中维护父节点id实现Permission数据的树形结构 通过动态查询每个用户已分配的许可菜单实现细粒度权限控制 使用SpringBoot开发各个具体业务模块的微服务工程 使用SpringCloud的Eureka服务作为微服务的注册中心 使用SpringCloud的Feign封装微服务信息,目的是实现像调用本地方法一样调用远程方法 使用RestTemplate将二进制文件数据上传到Provider 使用RestTemplate将二进制文件数据下载到Consumer

SequoiaDB 3.0 正式发布,分布式OLTP场景实现MySQL协议级兼容

别来无恙 提交于 2019-12-02 08:00:08
SequoiaDB 巨杉数据库 3.0 ,在产品GA发布后,经过近半年在金融级场景的测试、上线和稳定运行之后,于近期正式发布。 1. SequoiaDB 3.0 产品定位 SequoiaDB巨杉数据库是一款金融级分布式数据库,包括了分布式NewSQL、分布式文件系统与对象存储、与高性能NoSQL三种存储模式,分别对应分布式在线交易、非结构化数据和内容管理、以及海量数据管理和高性能访问场景。 根据Gartner的数据库报告,Multi-model多模是未来10年,下一代分布式数据库发展的最主要方向。从1.0的高性能分布式 NoSQL数据库,到2.0加入的分布式对象存储,再到3.0完整协议级兼容MySQL,SequoiaDB经过6年的不断迭代创新,全面支持企业级结构化、半结构化以及非结构化数据存储。 SequoiaDB 3.0 产品维度 2. MySQL 完整协议级兼容 SequoiaDB 3.0实现了100%的MySQL协议级兼容: · 全面兼容:全面支持MySQL协议与语法,用户可以直接使用MySQL客户端或任何管理、开发与监控工具对数据库进行操作; · MySQL语法:由于使用了MySQL原生的解析器,SequoiaDB 3.0 能够实现100%的MySQL语法兼容,支持语法包括基础CRUD操作,多表关联,跨节点事务操作,创建视图,存储过程,索引和访问计划等。 · 无缝切换:

SpringCloud的基础知识

非 Y 不嫁゛ 提交于 2019-12-02 06:47:44
二、集群/分布式/微服务/SOA是什么? 像我这种技术小白,看到这些词( 集群/分布式/微服务/SOA )的时候,感觉就是遥不可及的(高大尚的技术!!)。就好像刚学Java面向对象的时候,在论坛上翻阅资料的时候,无意看到"面向切面编程",也认为这是遥不可及的(高大尚的技术!!)。 但真正接触到"面向切面编程"的时候,发现原来就是如此啊,也没什么大不了的。只不过当时被它的名字给唬住了… 不知道各位在刚接触这些名字 集群/分布式/微服务/SOA 的时候,有没有被唬住了呢?? 下面我就简单说说这些名词的意思 2.1什么是集群 以下内容来源维基百科: 计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。在某种意义上,他们可以被看作是一台计算机。集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式。集群计算机通常用来改进单个计算机的计算速度和/或可靠性。一般情况下集群计算机比单个计算机,比如工作站或超级计算机性能价格比要高得多 集群技术特点: 通过 多台计算机 完成同一个工作,达到更高的效率。 两机或多机内容、工作过程等完全一样 。如果一台死机,另一台可以起作用。 在维基百科上说得也挺明白的了,我来举个 例子 吧。 小周在公司写Java程序,但公司业务在发展,一个Java开发者可能 忙不过来

大数据开发实战:数据流图及相关数据技术

孤街醉人 提交于 2019-12-02 05:23:55
1、大数据流程图 2、大数据各个环节主要技术 在这里还是要推荐下我自己建的 大数据学习交流群:9437**91324 ,群里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据软件开发相关的),包括我自己整理的一份最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴加入。 2.1、数据处理主要技术 Sqoop :(发音:skup)作为一款开源的离线数据传输工具,主要用于Hadoop(Hive) 与传统数据库(MySql,PostgreSQL)间的数据传递。它可以将一个关系数据库中数据导入Hadoop的HDFS中, 也可以将HDFS中的数据导入关系型数据库中。 Flume: 实时数据采集的一个开源框架,它是Cloudera提供的一个高可用用的、高可靠、分布式的海量日志采集、聚合和传输的系统。目前已经是Apache的顶级子项目。使用Flume可以收集诸如日志、时间等数据 并将这些数据集中存储起来供下游使用(尤其是数据流框架,例如Storm)。和Flume类似的另一个框架是Scribe(FaceBook开源的日志收集系统,它为日志的分布式收集、统一处理提供一个可扩展的、高容错的简单方案)  Kafka: 通常来说Flume采集数据的速度和下游处理的速度通常不同步,因此实时平台架构都会用一个消息中间件来缓冲

Dubbo Zookeeper(一)Zookeeper初识

自作多情 提交于 2019-12-02 05:22:10
前面花了一段时间去学习SpringCloud的相关知识,主要是理解微服务的概念并使用SpringCloud的一系列组件实现微服务落地。学习这些组件本身是简单的,跟着操作一遍基本就会了,这也得益于Springboot给我们带来了很多便利。实际的应用中也许还会碰到一些坑,但只要我们掌握基本的原理就能够解决。 前面也讲了微服务的解决方案有两个,一个是SpringCloud,另外一个就是 Dubbo +Zookeeper,下面我们来学习Dubbo+Zookeeper实现微服务。 在学习微服务的第一篇中,理解了微服务的概念,比较了微服务与单体应用之前的优势和劣势,讲了要实现微服务主要的技术点,最重要的两块在于服务之间的通信和服务治理。 Dubbo+ Zookeeper 要实现微服务,就必须解决这两个技术点,Dubbo是一个RPC通信框架,它可以实现服务之间的通信。ZooKeeper 是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。 一、 分布式协调技术 上面说Zookeeper是一个分布式协调技术,那么我们就得先来学习什么是分布式协调技术。 分布式协调技术 主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成"脏数据"的后果。 首先,要明白我们为什么需要分布式锁,一个简单的例子,一般系统上都有一些定时任务

ES

你。 提交于 2019-12-02 05:06:06
es是分布式,高性能,高可用,可伸缩的搜索和分析系统 什么是全文检索和Lucene? (1)全文检索,倒排索引 (2)lucene,就是一个jar包,里面包含了封装好的各种建立倒排索引,以及进行搜索的代码,包括各种算法。我们就用java开发的时候,引入lucene jar,然后基于lucene的api进行去进行开发就可以了。用lucene,我们就可以去将已有的数据建立索引,lucene会在本地磁盘上面,给我们组织索引的数据结构。另外的话,我们也可以用lucene提供的一些功能和api来针对磁盘上额 ES的优点: 自动维护数据的分布到多个节点的所有的建立,还有检索请求分布到多个节点的执行 自动维护数据的冗余副本,保证说,一些机器宕机了,不会丢失任何数据 封装了更多的高级功能,以给我们提供更多高级的支持,让我们快速的开发应用,开发更多复杂的应用,复杂的检索功能,聚合分析的功能,根据地理位置的检索 1、Elasticsearch的功能 (1)分布式的搜索引擎和数据分析引擎 搜索:百度,网站的站内搜索,IT系统的检索 数据分析:电商网站,最近7天牙膏这种商品销量排名前10的商家有哪些;新闻网站,最近1个月访问量排名前3的新闻版块是哪些 功能:分布式,搜索,数据分析 (2)全文检索,结构化检索,数据分析 全文检索:我想搜索商品名称包含牙膏的商品,select * from products

1024秋招结束

对着背影说爱祢 提交于 2019-12-02 04:59:23
文章目录 秋招基本技术了,回归学校,希望论文能顺利完成,顺利毕业。 回顾秋招,还是有很多问题,跟多基础知识不扎实,在这里做一下总结。 操作系统,比较薄弱,基本相关的问题都没答上来 计算机网络,同上,暂时只知道三次握手四次挥手 数据结构,还是要通篇复习下,如哈希表的问题就没答上来 java基础,差的还很多,简单的如Integer和int的比较问题,装箱拆箱问题 数据库,基本的索引问题,最差的是写sql 框架,差的非常多,spring各种原理,这还是避开了mybatis等问题 分布式的问题,springcloud和dubbo的各种组件及原理 缓存,redis要定期回顾 消息队列,了解常用的消息队列及作用 来源: https://blog.csdn.net/qq_24095055/article/details/102718288

大数据导论

吃可爱长大的小学妹 提交于 2019-12-02 03:18:07
01-大数据导读  01) javaEE与大数据的区别(参考:附件资料\JavaEE大数据区别.txt) 01) javaEE业务开发(品优购电商) 电商系统架构.png 02) 大数据的体系说明(抖音推荐系统 电商精准推荐系统) 大数据架构处理流程.jpg 02) 大数据学习的建议: 01) 理解框架的功能和使用场景 02) 熟练使用(集群安装 编程开发 API使用 问题解决) 03) 框架内部的运行机制(原理) 04) 分析源码(验证运行原理) 05) 给开源贡献代码: apache committer : fink github 02-大数据离线课程介绍 01) 围绕hadoop生态圈 02) 围绕大数据处理主线 01) 数据采集 02) 数据存储 03) 数据预处理 04) 数据分析(数据仓库hive) 05) 数据应用 03) 学习技术路线: 01) hadoop中的HDFS(分布式文件存储系统) 02) hadoop中的MapReduce(分布式计算框架) 03) hive (使用sql进行数据分析的数据仓库) hbase(基于hadoop的分布式数据库) zookeeper(大数据中的基础组件,分布式协调服务) 04) 离线项目--电商网站日志分析系统: 05) 离线辅助工具集(flume sqoop oozie azkaban等技术) 06) spark基于内存计算

分布式文件系统FastDFS详解

99封情书 提交于 2019-12-02 00:07:42
上一篇文章《 一次FastDFS并发问题的排查经历 》介绍了一次生产排查并发问题的经历,可能有些人对FastDFS不是特别的了解,因此计划写几篇文章完整的介绍一下这个软件。 为什么要使用分布式文件系统呢? 嗯,这个问题问的好,使用了它对我们有哪些好处?带着这个问题我们来往下看: 单机时代 初创时期由于时间紧迫,在各种资源有限的情况下,通常就直接在项目目录下建立静态文件夹,用于用户存放项目中的文件资源。如果按不同类型再细分,可以在项目目录下再建立不同的子目录来区分。例如: resources\static\file 、 resources\static\img 等。 优点 :这样做比较便利,项目直接引用就行,实现起来也简单,无需任何复杂技术,保存数据库记录和访问起来也很方便。 缺点 :如果只是后台系统的使用一般也不会有什么问题,但是作为一个前端网站使用的话就会存在弊端。一方面,文件和代码耦合在一起,文件越多存放越混乱;另一方面,如果流量比较大,静态文件访问会占据一定的资源,影响正常业务进行,不利于网站快速发展。 独立文件服务器 随着公司业务不断发展,将代码和文件放在同一服务器的弊端就会越来越明显。为了解决上面的问题引入独立图片服务器,工作流程如下:项目上传文件时,首先通过ftp或者ssh将文件上传到图片服务器的某个目录下,再通过ngnix或者apache来访问此目录下的文件

详细解读分布式锁原理及三种实现方式

狂风中的少年 提交于 2019-12-01 23:48:15
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的 CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致性来换取系统的高可用性,系统往往只需要保证“最终一致性”,只要这个最终时间是在用户可以接受的范围内即可。 在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。有的时候,我们需要保证一个方法在同一时间内只能被同一个线程执行。在单机环境中, Java中其实提供了很多并发处理相关的API,但是这些API在分布式场景中就无能为力了。也就是说单纯的Java Api并不能提供分布式锁的能力。所以针对分布式锁的实现目前有多种方案。 针对分布式锁的实现,目前比较常用的有以下几种方案: 基于数据库实现分布式锁 基于缓存( redis,memcached,tair)实现分布式锁 基于Zookeeper实现分布式锁 在分析这几种实现方案之前我们先来想一下,我们需要的分布式锁应该是怎么样的?(这里以方法锁为例,资源锁同理) 可以保证在分布式部署的应用集群中