分布式部署

关于分布式系统的连环炮一

我们两清 提交于 2020-02-12 12:15:10
关于分布式系统的连环炮 为什么要进行系统拆分?拆分后不用dubbo可以吗? 系统越来越复杂,维护起来非常麻烦,各种冲突,各种合并,非常耗费时间,之间依赖复杂,异常处理起来非常麻烦,各种痛苦 拆分后每个服务都是一个单独的模块,一个人维护一个服务,每个机器部署一个服务, 避免了很多冲突,代码清爽 可以,但是我们如果调用其他服务的接口时会有很多问题需要考虑,负载均衡,超时重试等等一系列问题,dubbo是一个rpc框架,就是本地接口 进行调用,底层会帮我们处理负载均衡,服务上下线自动感知,超时重试等,不需要我们自己去考虑,直接使用就可以了 说一下dubbo的工作原理?注册中心挂了可以继续通信吗?说说一次rpc请求流程? dubbo一共分为10层,provider层,如果一个服务A部署在三台机器上,每台机器有各自的ip,服务会将自己的信息在注册中心进行注册,这样注册中心就有了这个服务的注册信息。 这时一个用户请求发送过来,然后消费者会连接注册中心拉取自己需要调用的服务,消费者就会获取到注册中心里需要调用的服务的信息,这时消费者和服务提供者都会有dubbo 生成的代理,消费者的代理通过负载均衡找到服务A其中的个代理获取需要的数据,服务A返回数据给自己的代理,服务A的代理在返回给消费者的代理,然后返回给消费者,最后返回 给用户,这样就是一个dubbo的执行流程。 如果注册中心挂了还是可以继续通信

分布式任务调度XXL-JOB初体验

和自甴很熟 提交于 2020-02-10 20:23:50
简介 XXL-JOB 是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 官方文档很完善,不多赘述。本文主要是搭建 XXL-JOB 和简单使用的记录。 搭建xxl-job-admin管理端 运行环境 Ubuntu 16.04 64位 Mysql 5.7 安装Mysql $ sudo apt-get update $ sudo apt-get install mysql-server ## 设置mysql,主要是安全方面的,密码策略等 $ mysql_secure_installation ## 配置远程访问 $ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf bind-address = 0.0.0.0 $ sudo service mysql restart $ sudo service mysql status ● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-06-05 13

分布式锁

懵懂的女人 提交于 2020-02-10 18:29:04
https://www.cnblogs.com/austinspark-jessylu/p/8043726.html 分布式锁的几种实现方式 目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致性来换取系统的高可用性,系统往往只需要保证“最终一致性”,只要这个最终时间是在用户可以接受的范围内即可。 在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。有的时候,我们需要保证一个方法在同一时间内只能被同一个线程执行。在单机环境中,Java中其实提供了很多并发处理相关的API,但是这些API在分布式场景中就无能为力了。也就是说单纯的Java Api并不能提供分布式锁的能力。所以针对分布式锁的实现目前有多种方案。 针对分布式锁的实现,目前比较常用的有以下几种方案: 基于数据库实现分布式锁 基于缓存(redis,memcached,tair)实现分布式锁 基于Zookeeper实现分布式锁

Hadoop1 Centos伪分布式部署

十年热恋 提交于 2020-02-10 03:37:34
前言: 毕业两年了,之前的工作一直没有接触过大数据的东西,对hadoop等比较陌生,所以最近开始学习了。对于我这样第一次学的人,过程还是充满了很多疑惑和不解的,不过我采取的策略是还是先让环境跑起来,然后在能用的基础上在多想想为什么。 通过这三个礼拜(基本上就是周六周日,其他时间都在加班啊T T)的探索,我目前主要完成的是:   1.在Linux环境中伪分布式部署hadoop(SSH免登陆),运行WordCount实例成功。 http://www.cnblogs.com/PurpleDream/p/4009070.html 2.自己打包hadoop在eclipse中的插件。 http://www.cnblogs.com/PurpleDream/p/4014751.html 3.在eclipse中访问hadoop运行WordCount成功。 http://www.cnblogs.com/PurpleDream/p/4021191.html 所以我下边会分三次记录下我的过程,为自己以后查阅方便,要是能帮助到其他人,自然是更好了! ===============================================================长长的分割线==============================================================

《大型网站技术架构:核心原理与案例分析》笔记

情到浓时终转凉″ 提交于 2020-02-10 02:59:33
目录 · 大型网站软件系统的特点 · 大型网站架构演化发展历程 · 初始阶段的网站架构 · 需求/解决问题 · 架构 · 应用服务和数据服务分离 · 需求/解决问题 · 架构 · 使用缓存改善网站性能 · 需求/解决问题 · 架构 · 使用应用服务器集群改善网站的并发处理能力 · 需求/解决问题 · 架构 · 数据库读写分离 · 需求/解决问题 · 架构 · 使用反向代理和CDN加速网站响应 · 需求/解决问题 · 架构 · 使用分布式文件系统和分布式数据库系统 · 需求/解决问题 · 架构 · 使用NoSQL和搜索引擎 · 需求/解决问题 · 架构 · 业务拆分 · 需求/解决问题 · 架构 · 分布式服务 · 需求/解决问题 · 架构 · 大型网站架构演化心得 · 大型网站架构模式 · 综述 · 分层 · 概念 · 目的 · 举例 · 分割 · 概念 · 目的 · 举例 · 分布式 · 概念 · 目的 · 缺点 · 举例 · 集群 · 概念 · 目的 · 缓存 · 概念 · 目的 · 举例 · 异步 · 概念 · 目的 · 冗余 · 概念 · 目的 · 举例 · 自动化 · 目的 · 举例 · 安全 · 举例 · 大型网站核心架构要素 · 性能 · 网站性能测试 · 不同视角下的网站性能 · 性能测试指标 · 性能测试方法 · 性能测试报告 · Web前端性能优化 ·

Hadoop完全分布式配置及常见错误集合

て烟熏妆下的殇ゞ 提交于 2020-02-10 02:37:39
JDK配置和Hadoop安装网上教程比较多,就不多说了。 1.ssh配置(实现在主机之间执行指令时不需要输入密码)。 1).在 所有机器 上建立.ssh目录(假设在/home/user下) $mkdir .ssh 2).在namenode上生成密钥对,$ssh-keygen -t rsa 3).然后一直【Enter】,即默认保存在~/.ssh/id_rsa文件中。 4).接着$cd ~/.ssh (这几个个命令只需在NameNode上执行就OK了) $cp id_rsa.pub authorized_keys $scp authorized_keys DataNode1:/home/user/.ssh $scp authorized_keys DataNode2:/home/user/.ssh 5).进入 所有机器 的.ssh目录,改变authorized_keys文件的许可权限: $chmod 644 authorized_keys 这时从NameNode向其他机器(DataNode)发起SSH连接,只在第一次登录时需要输入密码。 另外ssh连接过程中时出现 " Agent admitted failure to sign using the key " 时,在windows下"服务"启动VMware Agent Service这个服务。再重启VMware即可。 2

大型分布式电商系统架构演进史?

妖精的绣舞 提交于 2020-02-09 15:26:11
文章目录 概述 作者简介 一、大型分布式网站架构技术 1、大型网站的特点 2、大型网站架构目标 3、大型网站架构模式 4、高性能架构 5、高可用架构 6、可伸缩架构 7、可扩展架构 8、安全架构 9、敏捷性 10、大型架构举例 二、大型电商网站系统架构演变过程 1、最开始的网站架构 2、应用、数据、文件分离 3、利用缓存改善网站性能 4、使用集群改善应用服务器性能 5、数据库读写分离和分库分表 6、使用CDN和反向代理提高网站性能 7、使用分布式文件系统 8、使用NoSQL和搜索引擎 9、将应用服务器进行业务拆分 10、搭建分布式服务 三、一张图说明电商架构 四、大型电商网站架构案例 概述 本文是学习大型分布式网站架构的技术总结。对架构一个高性能、高可用、可伸缩及可扩展的分布式网站进行了概要性描述,并给出一个架构参考。文中一部分为读书笔记,一部分是个人经验总结,对大型分布式网站架构有较好的参考价值。 作者简介 烂皮猪,十余年工作经验,曾在Google等外企工作过几年,精通Java、分布式架构,微服务架构以及数据库,最近正在研究大数据以及区块链,希望能够突破到更高的境界 一、大型分布式网站架构技术 1、大型网站的特点 用户多,分布广泛 大流量,高并发 海量数据,服务高可用 安全环境恶劣,易受网络攻击 功能多,变更快,频繁发布 从小到大,渐进发展 以用户为中心 免费服务,付费体验 2

集群、分布式、微服务

南楼画角 提交于 2020-02-08 18:12:49
概念: 集群是个物理形态,分布式是个工作方式。 1.分布式:一个业务分拆多个子业务,部署在不同的服务器上 2.集群:同一个业务,部署在多个服务器上 分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务。 分布式中的每一个节点,都可以做集群。而集群并不一定就是分布式的。 举例:就比如新浪网,访问的人多了,他可以做一个集群,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。 而分布式,从窄意上理解,也跟集群差不多,但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。 分布式的每一个节点,都完成不同的业务,一个节点垮了,那这个业务就不可访问了。 简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。 例如:如果一个任务由 10 个子任务组成,每个子任务单独执行需 1 小时,则在一台服务器上执行该任务需 10 小时。 采用分布式方案,提供 10 台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是 Hadoop 的 Map/Reduce 分布式计算模型) 而采用集群方案,同样提供 10 台服务器

大数据之Zookeeper(上)

隐身守侯 提交于 2020-02-07 20:55:29
1 分布式概述 早起我们使用单体架构,即所有的服务都部署在一台服务器的一个进程中,随着互联网的发展,逐步演进为分布式架构,多个服务分别部署在不同机器的不同进程中。 2 Zookeeper概述 Zookeeper是一个开源的分布式协调服务,提供分布式数据一致性解决方案,分布式应用程序可以实现数据发布订阅、负载均衡、命名服务、集群管理分布式锁、分布式队列等功能。 Zookeeper提供了分布式数据一致性的解决访问,那么什么是分布式数据一致性? 如上图所示,有用户user在DB1中修改balance为900,如果user下一次read请求到DB2数据库的时候,此时DB1数据库的数据还没及时更新到DB2中,就会造成整个数据库集群数据不一致。 数据一致性分为强一致性和最终一致性,强一致性指的是如果数据不一致,就不对外提供数据服务,保证用户读写的数据始终是一致的。数据强一致性值需要通过锁机制即可解决,在案例中通过在DB2没有从DB1同步数据之前上锁,不对外提供读操作。只要当同步完成以后才对外提供服务。而最终一致性要求数据最终同步即可,没有实时要求。 3 CAP原则 CAP在分布式系统中主要指的是一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)。 一致性:一致性指的就是强一致性。 可用性:系统提供的服务一直处于可用状态

ZooKeeper面试题

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-06 21:35:05
前言 ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 ZooKeeper 的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 面试题 ZooKeeper 是什么? ZooKeeper 提供了什么? Zookeeper 文件系统 ZAB 协议? 四种类型的数据节点 Znode Zookeeper Watcher 机制 -- 数据变更通知 客户端注册 Watcher 实现 服务端处理 Watcher 实现 客户端回调 Watcher ACL 权限控制机制 Chroot 特性 会话管理 服务器角色 Zookeeper 下 Server 工作状态 数据同步 zookeeper 是如何保证事务的顺序一致性的? 分布式集群中为什么会有 Master? zk 节点宕机如何处理? zookeeper 负载均衡和 nginx 负载均衡区别 Zookeeper 有哪几种几种部署模式? 集群最少要几台机器,集群规则是怎样的? 集群支持动态添加机器吗? Zookeeper 对节点的 watch 监听通知是永久的吗?为什么不是永久的? Zookeeper 的 java 客户端都有哪些? chubby 是什么,和 zookeeper 比你怎么看?