课程笔记尚硅谷讲义v

1、Java课程系列Java课程系列之Mycat尚硅谷Java版本:V1.6第一章入门概述1.1是什么Mycat是数据库中间件。1、数据库中间件中间件:是一类连接软件组件和应用的计算机软件,以便于软件各部件之间的。例子:Tomcat,web中间件。数据库中间件:连接java应用程序和数据库2、为什么要用Mycat?Java与数据库紧耦合。高量高并发对数据库的。读写请求数据不一致3、数据库中间件对比Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列Cobar属于阿里B2B事业群,始于2008年,在阿里服役3年多,接管3000+个MySQL数据库的

2、schema,集群日处理SQL请求50亿次以上。由于Cobar发起人的离职,Cobar停止维护。Mycat是开源社区在阿里cobar基础上进行二次开发,解决了cobar的功能在其中。青出于蓝而胜于蓝。的问题,并且加入了许多新OneProxy基于MySQL的proxy思想利用c进行开发的,OneProxy是一款商业的中间件。舍弃了一些功能,专注在性能和稳定性上。kingshard由小团队用go语言开发,还需要发展,需要不断完善。Vitess是生产在使用,架构很复杂。不支持MySQL原生协议,使用需要大量改造成本。Atlas是360团队基于mysqlproxy改写,功能还需完善,高并发下不稳定。

3、MaxScale是mariadb(MySQL原作者维护的一个版本)研发的中间件MySQLRoute是MySQLOracle公司发布的中间件Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列3、Mycat的官网1.2干什么1、读写分离2、数据分片垂直拆分(分库)、水平拆分(分表)、垂直+水平拆分(分库分表)Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列3、多数据源整合1.3原理Mycat的原理中最重要的一个动词是“”,它了用户过来的SQL语句,首先对SQL语句做了一些特定的分析:如分片分析、路由分析、读写分离分析

7、的高可用性。搭建:一主一从、双从两种读写分离模式。3.1搭建一主一从一个主机用于处理所有写请求,一台从机负责所有读请求,架构图如下1、搭建MySQL数据库主从MySQL主从原理Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列主机配置(host79)binlog日志三种格式从机配置(host80)主机、从机重启MySQL服务主机从机都关闭在主机上建立帐户并slaveJava大数据前端python人工智能资料,可:尚硅谷官网Java课程系列在从机上配置需要的主机Java大数据前端python人工智能资料,可:尚硅谷官网Ja

8、va课程系列主机新建库、新建表、insert,从机Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列如何停止从服务功能如何重新配置主从2、修改Mycat的配置文件schema.xml之前的配置已分配了读写主机,是否已实现读写分离?修改的balance属性,通过此属性配置读写分离的类型为了能看到读写分离的效果,把balance设置成2,会在两个主机间切换Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列3、启动Mycat4、验证读写分离Java大数据前端python人工智能资料,可:尚硅谷官网Java

9、课程系列3.2搭建双从一个主机m1用于处理所有写请求,它的从机s1和另一台主机m2还有它的从机s2负责所有读请求。当m1主机宕机后,m2主机负责写请求,m1、m2互为备机。架构图如下Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列1、搭建MySQL数据库主从(双从)机配置Master1配置Master2配置Java大数据前端python人工智能资料,可:尚硅谷官网编号IP地址名1Master128host79.atguigu2Slave127host80.atgui

10、gu3Master226host81.atguigu4Slave225host82.atguiguJava课程系列配置Slave1配置Slave2配置重启mysql服务机、主机从机都关闭在两台主机上建立帐户并slaveJava大数据前端python人工智能资料,可:尚硅谷官网Java课程系列在从机上配置需要的主机Slava1Master1,Slava2Master2Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列两个主机互相Java大数据前端python人工智能资料,可:尚硅谷官网J

11、ava课程系列Master2Master1,Master1Master2Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列Master1主机新建库、新建表、insert,Master2和从机如何停止从服务功能如何重新配置主从2、修改Mycat的配置文件schema.xml修改的balance属性,通过此属性配置读写分离的类型Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列为了双从读写分离balance设置为1Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列3、启动Mycat4

12、、验证读写分离Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列5、抗风险能力Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列Master1、Master2互做备机,负责写的主机宕机,备机切换负责写操作,保证数据库读写分离高可用性。第四章垂直拆分分库一个数据库由很多表的,每个表对应着不同的业务,垂直切分是指按照业务将表进行分类,分布到不同的数据库上面,这样也就将数据或者说分担到不同的库上面,如下图:Java大数据前端python

13、人工智能资料,可:尚硅谷官网Java课程系列系统被切分成了,用户,订单,支付几个模块。4.1如何划分表一个问题:在两台主机上的两个数据库中的表,能否关联?:不可以关联。分库的原则:有紧密关联关系的表应该在一个,相互没有关联关系的表可以分到不同的。Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列以上四个表如何分库?客户表分在一个数据库,另外三张都需要关联,分在另外一个数据库。4.2实现分库1、修改schema配置文件Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列2、新增两个空白库分库操作不是在原来的老数据库上

14、进行操作,需要准备两台分别安装新的数据库3、启动MycatJava大数据前端python人工智能资料,可:尚硅谷官网Java课程系列4、Mycat进行分库第五章水平拆分分表相对于垂直拆分,水平拆分不是将表做分类,而是按照某个字段的某种规则来分散到多个库之中,每个表中包含一部分数据。简单来说,我们可以将数据的水平切分理解为是按照数据行的切分,就是将表中的某些行切分到一个数据库,而另外的某些行又切分到其他的数据库中,如图:Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列5.1实现分表1、选择要拆分的表MySQL单表数据条数是有瓶颈的,

16、customer_id(客户id)根据客户id去分,两个节点平均,一个客户的所有订单都在同一个节点Java课程系列5、在数据节点dn2上建orders表6、重启Mycat,让配置生效7、Mycat实现分片5.2Mycat的分片“join”Orders订单表已经进行分表操作了,和它关联的orders_detail订单详情表如何进行join。Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列我们要对orders_detail也要进行分片操作。Join的原理如下图:1、ER表Mycat借鉴了NewSQL领域的新秀

17、FoundationDB的设计思路,FoundationDB创新性的提出了TableGroup的概念,其将子表的位置依赖于主表,并且物理上紧邻存放,因此彻底解决了JION的效率和性能问题,根据这一思路,提出了基于E-R关系的数据分片策略,子表的与所关联的存放在同一个数据分片上。Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列2、全局表在分片的情况下,当业务表因为规模而进行分片以后,业务表与这些附属的字典表之间的关联,就成了比较棘手的问题,考虑到字典表具有以下几个特性:变动不频繁数据量总体变化不大数据规模不大,很少有超过数十万条鉴于此,M

18、ycat定义了一种特殊的表,称之为“全局表”,全局表具有以下特性:全局表的、更新操作会实时在所有节点上执行,保持各个分片的数据一致性全局表的操作,只从一个节点获取全局表可以跟任何一个表进行JOIN操作将字典表或者符合字典表特性的一些表定义为全局表,则从另外一个方面,很好的解决了数据JOIN的难题。通过全局表+基于E-R关系的分片策略,Mycat可以满足80%以上的企业应用开发Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列5.3常用分片规则1、取模此规则为

19、对分片字段求摸运算。也是水平分表最常用规则。5.1配置分表中,orders表采用了此规则。2、分片枚举通过在配置文件中配置可能的枚举id,配置分片,本规则适用于特定的场景,比些业务需要按照省份或区县来做保存,而省份区县固定的,这类业务使用本条规则。Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列3、范围约定此分片适用于,提前好分片字段某个范围属于哪个分片。Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列4、按日期(天)分片此规则为

21、e当前的值。优点:本地加载,速度较快Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列缺点:抗风险能力差,Mycat所在主机宕机后,无法本地文件。2、数据库方式利用数据库一个表来进行计数累加。但是并不是每次生成序列都读写数据库,这样效率太低。Mycat会预加载一部分号段到Mycat的内存中,这样大部分读写序列都是在内存中完成的。如果内存中的号段用完了Mycat会再向数据库要一次。问:那如果Mycat了,那内存中的序列岂不是都没了?是的。如果是这样,那么Mycat启动后会向数据库申请新的号段,原有号段会弃用。也就是说如果Mycat重启

23、java项目里生成全局序列,如下:根据业务逻辑组合可以利用redis的单线程原子性incr来生成序列但,生成需要单独在工程中用java代码实现,还是推荐使用Mycat自带全局序列。第六章基于HA机制的Mycat高可用在实际项目中,Mycat服务也需要考虑高可用性,如果Mycat所在服务器出现宕机,或Mycat服务故障,需要有备机提供服务,需要考虑Mycat集群。Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列6.1高可用方案我们可以使用HAProxy+Keepalived配合两台Mycat搭起Myca

24、t集群,实现高可用性。HAProxy实现了MyCat多节点的集群高可用和负载均衡,而HAProxy自身的高可用则可以通过Keepalived来实现。Java大数据前端python人工智能资料,可:尚硅谷官网编号IP地址名1Mycat128host79.atguigu2Mycat227host80.atguigu3HAProxy(master)26host81.atguigu4Keepalived(master)26host81.atguigu5HAProxy(backup)192

25、.168.140.125host82.atguigu6Keepalived(backup)25host82.atguiguJava课程系列6.2安装配置HAProxy1、安装HAProxyJava大数据前端python人工智能资料,可:尚硅谷官网Java课程系列2、启动验证Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列6.3配置Keepalived1、安装KeepalivedJava大数据前端python人工智能资料,可:尚硅谷官网Java课程系列#修改内容如下!ConfigurationFi

26、leforkeepalivedglobal_defsnotification_xlcocoonnotification_fromkeepalivedsmtp_serversmtp_connect_timeout30router_idLVS_DEVELvrrp_skip_check_adv_addrvrrp_garp_interval0vrrp_gna_interval0vrrp_instanceVI_1#主机配MASTER,备机配BACKUPstateMASTER#所在网卡interfaceens33virtual_router_id51

27、#数值越大优先级越高priority100advert_int1authenticationauth_typePASSauth_pass1111virtual_ipaddress#虚拟IP00virtual_server0048066delay_loop6lb_algorrlb_kindNATpersistence_timeout50protocolTCPJava大数据前端python人工智能资料,可:尚硅谷官网Java课程系列2、启动验证6.4测试高可用1、测试步骤Java大数据前端p

28、ython人工智能资料,可:尚硅谷官网Java课程系列第七章Mycat安全设置7.1权限配置1、user权限目前Mycat对于中间件的连接并没有做太复杂的,目前只做了中间件逻辑库级别的读写权限。是通过server.xml的user进行配置。配置说明Java大数据前端python人工智能资料,可:尚硅谷官网属性说明name应用连接中间件逻辑库的用户名password该用户对应的TESTDB应用当前连接的逻辑库中所对应的逻辑表。schemas中可以配置一个或多个readOnly应用连接中间件逻辑库所具有的权限。true为只读,false为读写都有,默认为fals

29、eJava课程系列测试案例Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列2、privileges权限在user下的privileges可以对逻辑库(schema)、表(table)进行精细化的DML权限控制。privileges下的check属性,如为true开启权限检查,为false不开启,默认为false。由于Mycat一个用户的schemas属性可配置多个逻辑库(schema),所以privileges的下级节点schema节点同样可配置多个,对多库多表进行细粒度的DML权限。Java大数据前端pyth

30、on人工智能资料,可:尚硅谷官网Java课程系列配置说明测试案例Java大数据前端python人工智能资料,可:尚硅谷官网DML权限增加(insert)更新(update)(select)删除(select)00000010可以1110可以1111可以可以可以可以Java课程系列Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列7.2SQLfirewall;firewall下whitehost用来定义IP白,blacklist用来定义用来定义SQL。1、白可以通过设置白,实现某主机某用户可以Mycat,而其他主机用户。Java大数据前端python人工智能资料,可:尚硅谷官网Java课程系列2

THE END
1.Java面试大纲:从基础到架构,全方位助力斩获OfferJava 面试大纲:从基础到架构,全方位助力斩获 Offer 一、引言 在互联网时代,Java 作为最受欢迎的编程语言之一,其相关岗位的求职竞争异常激烈。想要在众多求职者中脱颖而出,必须做好充分的面试准备。本文旨在为 Java 求职者提供一份全面的面试准备指南,http://www.aigcdaily.cn/news/b24m0xo9b4kedvk/
2.尚硅谷2022版Java课程体系,霸气来袭尚品速运视频03课程大纲全面升级 技术为王,课比天大。 尚硅谷八维一体升级流程: 市场调研à需求分析à大咖研讨à课程设计à课程落地à综合复盘à课程更新à全面推动 实力揭秘好课是怎样练成的! 技术紧跟企业实际技术选型, 七大课程模块持续迭代升级: Java核心基础 数据库关键技术 https://blog.csdn.net/zjjcchina/article/details/122633493
3.韩顺平java的vip课程大纲韩顺平linux韩顺平java的vip课程大纲 韩顺平linux 尚硅谷韩顺平Linux教程学习笔记 目录 尚硅谷韩顺平Linux教程学习笔记 写在前面 虚拟机 Linux目录结构 远程登录Linux系统 vi和vim编辑器 关机、重启和用户登录注销 用户管理 实用指令 组管理和权限管理 定时任务调度 Linux磁盘分区、挂载https://blog.51cto.com/u_16213640/8777585
4.尚硅谷大数据大神班培训视频百度云2021尚硅谷大数据培训2021课程大纲: 阶段一 JavaSE基础核心【视频课程.mp4】 1.1 Java基础语法 1.2 IDEA 1.3 面向对象编程 1.4 Java8/9/10/11新特性 1.5 MySQL 1.6 JDBC 阶段二 Hadoop生态体系架构【视频课程.mp4】 2.1 Maven 2.2 Linux 2.3 Shell编程 https://weibo.com/ttarticle/p/show?id=2309404700594592940323
5.尚硅谷课程截图: 课程大纲: 尚硅谷-Vue3入门到实战,最新版vue3+TypeScript前端开发教程/ ├──视频 |├──001_Vue3开篇.mp4 74.47M |├──002_Vue3简介.mp4 8.65M |├──003_创建Vue3工程.mp4 49.63M |├──004_编写App组件.mp4 30.21M |├──005_一个简单的效果.mp4 32.54M https://www.soft1188.com/javajg/6552.html
6.尚硅谷宋红康java全程课程目录.pdf后续学习大纲简述 03-J a 主要应用场景 04-J a 基础图谱及基础阶段项目说明 05-每天授课须知 06-图形化界面操作与命令行操作介绍 1 【更多J a –Android – 大数据 资料 ,可 尚硅谷官网 区】 尚硅谷J a 系列课程-宋红康 ——— 07-常用的命令行指令 08-计算机语言的划分 09-不同编程语言的介绍 10-https://m.book118.com/html/2021/0227/7142162040003061.shtm
7.尚硅谷Java实战项目《硅谷课堂》(视频+源码+笔记+资料)尚硅谷Java实战项目《硅谷课堂》(视频+源码+笔记+资料) 百万资源 1个月前发布 关注私信 0100 《硅谷课堂》是尚硅谷与腾讯云官方合作的项目,是一款基于微信公众号B2C模式的在线学习平台。项目包含后台系统和微信公众号部分,采用前后端分离开发模式。本套项目教程针对有一定开发经验的Java程序员精心打造,项目技术涵盖微服务https://www.bw1.net/5928/
8.尚硅谷Java学科全套教程「视频课程+课件」146GB基于JDK 11,将Java8、Java9、Java10、Java11新特性一网打尽 课程中,Eclipse和IDEA都使用到了 3.技术讲解更深入、更全面: 课程共30天,715个小节,涉及主流Java方方面面 内容涵盖数据结构、设计模式、JVM内存结构等深度技术 4.代码量更大、案例更丰富、更贴近实战 尚硅谷 Java学科全套教程「视频课程+课件」 目录https://www.1xm1.com/xiazai/7001.html
9.尚硅谷Java学科全套视频教程(300G免费获取)老吴搭建教程尚硅谷的java教程非常全面,基本上各知识点都有对应的视频教程,本套视频教程内容丰富讲解透彻由浅入深,循序渐进,每个技术点既有理论讲解,又有配套实践案例,真正的理论与实践相结合。全套教程有二三百G,文末直接获取。 教程分类: 1、基础类 2、数据类 https://www.weixiaolive.com/post/720.html
10.尚硅谷Java数据结构韩顺平老师课程存在问题汇总课件和图都是错误的,环形队列的指针指向要存放的空位,不是最后一个元素,而是最后一个元素再后面的空位,并且,队列必须空出一个位置不存放数据,这样才能区分队列空和队列满两种情况。建议自己网上找一张环形的队列图参考着来 p33 栈实现综合计算器: 课件对实现逻辑的描述有问题,而且代码写错了。错误点: https://www.jianshu.com/p/06ed48493fdb
11.尚硅谷JavaWeb教程上部(2020新版)谷粒学苑课程目标:听懂、理解、会用。并为后期框架、框架的学习打下坚实的基础。 下部请观看:http://www.gulixueyuan.com/course/360 学习目录 回放{activityStartTimeStr}正在直播中直播结束{activityLength} 免费课时 1 : 01-尚硅谷-HTML和CSS-引课01:36 https://www.gulixueyuan.com/course/359
12.尚硅谷Java互联网面试题第三季,大厂面试知识点视频教程本套课程来自尚硅谷:Java大厂面试题第三季,常考知识点高阶学习视频教程,对标大厂阿里P6、P7的知识深度,具有一定难度,对于想学习高阶知识、想跳槽进大厂的同学,是必刷的题目和必扫的技术盲点。内容涉及各大厂常考常问的高频经典高阶知识,包括S源码、spring循环依赖、redis分布式锁等常考常温知识点,课程由周阳老师https://www.vipc6.com/11112.html
13.想要参加Java培训,选择黑马动力节点尚学堂尚硅谷尚马等以上就是汉码未来给大家分享的文章,希望对小伙伴们有所帮助,想要了解更多想要参加Java培训,选择黑马、动力节点、尚学堂、尚硅谷、尚马等机构里的哪家更好 ?相关内容的小伙伴可以登录汉码未来官网咨询,主打5人小班,全程面授,主打Java开发,web前端开发等课程,有专业的授课老师为你答疑解惑。http://www.hanmaweilai.com/news/detail?id=1834
14.机构简介传智尚硅谷的Python培训就业前景怎样? Python的特点:简洁优美;开发效率极高,得到了越来越多公司的青睐,公司选用Python进行网站Web、搜索引擎(Google)、云计算(OpenStack)、大数据、人工智能、科学计算等方向的开发。Python将成为继C++和Java之后的第三个主流编程语言,Python结合人工智能也是尚 硅谷的优势课程,python的人才https://m.zysm.cn/school-27957/about.html
15.尚硅谷官网谷粉与老学员力挺的Java培训大数据培训前端培训大数据AI智慧工程师 数据洪流,AI智慧引流 课程大纲 项目实战 免费视频 职场前景 嵌入式物联网 国家集成电路紧缺人才 课程大纲 项目实战 学费优惠 职场前景 风华正茂,多维活动开阔技术视野 为职业成长打下综合基础 欢迎尚硅谷老学员回家团聚! 青春正好,恋爱趁早—尚硅谷老学员专属联谊活动圆满举办! 硅谷前沿技术会暨https://m.atguigu.com/
16.尚硅谷JUC并发编程思维导图模板个人根据B站尚硅谷JUC课程学习并整理的https://www.processon.com/view/6718b8afe62924419e3c1ebc
17.学习猿地成就自己的只需一套精品学习猿地是零基础到就业的IT技能学习平台,专挑大牛录制全套的精品课程,将一门学科所需的全部精品资料汇总在一起,提供Java培训、Python培训、php培训、GO培训、大数据培训、web前端培训、UI培训、Linux培训、1+X证书等学科,IT培训到学习猿地https://www.lmonkey.com/