课程笔记尚硅谷讲义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培训让你秒变编程大神深圳尚硅谷教育的Java培训课程在IT培训领域享有盛誉,尤其在广州地区广受学子好评。那么,这一课程究竟具备哪些优势?又是什么原因让它成为众多学子的首选?接下来,我们将详细解析尚硅谷Java培训课程的优势所在。 授课内容全面 Java培训课程涵盖了从基础到高级的知识,包括Java语言的基础知识、面向对象编程、异常处理、集合框架https://m.tantuw.com/sz/Schoolnews/8873_808413
2.尚硅谷java课程怎么样尚硅谷java培训尚硅谷java课程怎么样 package com.atguigu.java; import org.junit.Test; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; /** * @author https://blog.51cto.com/u_16099190/9238591
3.尚硅谷Java学科全套教程「视频课程+课件」146GB基于JDK 11,将Java8、Java9、Java10、Java11新特性一网打尽 课程中,Eclipse和IDEA都使用到了 3.技术讲解更深入、更全面: 课程共30天,715个小节,涉及主流Java方方面面 内容涵盖数据结构、设计模式、JVM内存结构等深度技术 4.代码量更大、案例更丰富、更贴近实战 尚硅谷 Java学科全套教程「视频课程+课件」 目录https://www.1xm1.com/xiazai/7001.html
4.尚硅谷2022版Java课程体系,霸气来袭尚品速运视频尚硅谷当家学科硬核升级, 全新Java课程体系重磅来袭! 见证好课,一睹为快: 01额外加赠架构师课 加量不加价,扶上马再送一程。 为进一步增强学员市场竞争力, 面授结束后加赠架构师在线课。 云原生实战、核心框架源码分析、 JVM调优、MySQL配置优化…… https://blog.csdn.net/zjjcchina/article/details/122633493
5.尚硅谷宋红康java全程课程目录.pdfJava尚硅谷_宋红康_java全程课程目录.pdf 25页内容提供方:158***9376 大小:785.97 KB 字数:约2.22万字 发布时间:2021-03-02发布于北京 浏览人气:321 下载次数:仅上传者可见 收藏次数:1 需要金币:*** 金币 (10金币=人民币1元)尚硅谷_宋红康_java全程课程目录.pdf 关闭预览 想预览更多内容,点击https://m.book118.com/html/2021/0227/7142162040003061.shtm
6.尚硅谷Java学科全套视频教程(300G免费获取)老吴搭建教程尚硅谷的java教程非常全面,基本上各知识点都有对应的视频教程,本套视频教程内容丰富讲解透彻由浅入深,循序渐进,每个技术点既有理论讲解,又有配套实践案例,真正的理论与实践相结合。全套教程有二三百G,文末直接获取。 教程分类: 1、基础类 2、数据类 https://www.weixiaolive.com/post/720.html
7.尚硅谷Java数据结构韩顺平老师课程存在问题汇总课件和图都是错误的,环形队列的指针指向要存放的空位,不是最后一个元素,而是最后一个元素再后面的空位,并且,队列必须空出一个位置不存放数据,这样才能区分队列空和队列满两种情况。建议自己网上找一张环形的队列图参考着来 p33 栈实现综合计算器: 课件对实现逻辑的描述有问题,而且代码写错了。错误点: https://www.jianshu.com/p/06ed48493fdb
8.Java谷粒学苑大厂课程 全部 Java基础 Java8 JavaWeb Struts2 Hibernate4 Spring4 SSH整合 SpringMVC JPA Maven mybatis Redis Shiro SpringData SSM高级整合 SSSP整合 SVN视频 最新 最热 推荐 乐尚代驾项目 138 免费 尚硅谷Java大厂面试题第4季 124 免费 尚硅谷3小时速通Docker教程 239 免费 尚硅谷2024新版SpringCloud 49https://www.gulixueyuan.com/course/explore/java
9.尚硅谷Java互联网面试题第三季,大厂面试知识点视频教程本套课程来自尚硅谷:Java大厂面试题第三季,常考知识点高阶学习视频教程,对标大厂阿里P6、P7的知识深度,具有一定难度,对于想学习高阶知识、想跳槽进大厂的同学,是必刷的题目和必扫的技术盲点。内容涉及各大厂常考常问的高频经典高阶知识,包括S源码、spring循环依赖、redis分布式锁等常考常温知识点,课程由周阳老师https://www.vipc6.com/11112.html
10.尚硅谷Java实战项目《硅谷课堂》(视频+源码+笔记+资料)尚硅谷Java实战项目《硅谷课堂》(视频+源码+笔记+资料) 百万资源 1个月前发布 关注私信 0100 《硅谷课堂》是尚硅谷与腾讯云官方合作的项目,是一款基于微信公众号B2C模式的在线学习平台。项目包含后台系统和微信公众号部分,采用前后端分离开发模式。本套项目教程针对有一定开发经验的Java程序员精心打造,项目技术涵盖微服务https://www.bw1.net/5928/
11.在西安培训完java出来就业都怎么样了以上就是关于“java培训出来的都怎么样了”作出的分析,希望对小伙伴们有所帮助!如果屏幕前的你,对java开发感兴趣,可以了解一下尚硅谷java培训班的java培训课程,该培训课程罗列了更多的java开发技术知识点,让你更全面的、更系统的、更清晰的了解java开发技术。 http://www.77dodo.com/aiwen/55121.html
12.转换成java.sql.Date类型问题问题:在跟着尚硅谷javaweb课程做在跟着尚硅谷javaweb课程做qqzone项目时, 出现Can not set java.util.Date field com.atguigu.qqzone.pojo.Topic.topicDate to java.time.LocalDateTime这行错误。 解决方案: 我也是在查阅了一些资料后才找到答案 原答主:(44条消息) Can not set java.util.Date field *** to java.time.LocalDateTime解决办法https://juejin.cn/post/7155125510475890718
13.韩顺平java高级课程真的太香了韩顺平 java高级课程真的太香了 讲的内容比黑马尚硅谷的还好 全部评论 推荐 最新 楼层 牛客188400789号 门头沟学院 Java 花钱买的还是 点赞 回复 分享 发布于 2023-03-24 01:56 广东 少说话多清兵 北京信息科技大学 前端工程师 吃下安利惹 点赞 回复 分享 发布于 2023-03-27 14:09 山东 相关推https://www.nowcoder.com/feed/main/detail/5c133e0852d54051a61f6ce15c530f11
14.想要参加Java培训,选择黑马动力节点尚学堂尚硅谷尚马等以上就是汉码未来给大家分享的文章,希望对小伙伴们有所帮助,想要了解更多想要参加Java培训,选择黑马、动力节点、尚学堂、尚硅谷、尚马等机构里的哪家更好 ?相关内容的小伙伴可以登录汉码未来官网咨询,主打5人小班,全程面授,主打Java开发,web前端开发等课程,有专业的授课老师为你答疑解惑。http://www.hanmaweilai.com/news/detail?id=1834
15.尚硅谷官网谷粉与老学员力挺的Java培训大数据培训前端培训黑马程序员专注于IT培训,开设java培训、大数据培训、web前端培训、python培训、人工智能培训、软件测试培训、产品经理培训、智能机器人软件开发培训等多门IT培训课程,提供java培训、Java开发培训、python开发培训、大数据培训、web前端开发培训、python培训、人工智能培训等IT培训服务,致力于培养中级程序员,是业内以口碑闻名的https://nav.dreamthere.cn/site/index/4472
16.分享尚硅谷大厂学苑Java架构师描述:大厂学苑Java架构师视频课程是一套科学定制的大厂seed培养体系的课程体系。全部课程分为九个专题,通过操作系统与计算机网络的学习,夯实基础,再通过大量的实在演练,将核心源码的深度解读理论在实战中得到运用。即使是Java架构师小白也无需担心,九个专题课程循序渐进带你走进Java的世界,深刻了解运用Java。 https://sq.hellovps.cn/1539.html
17.如何使用MomentJs和React比较日期和时间动力节点Java培训 3610 8分9秒 19. 尚硅谷_Java8新特性_新时间和日期 API-时间校正器 腾讯云开发者课程 380 24分37秒 135_尚硅谷_Go核心编程_Go时间和日期函数详解(1).avi 腾讯云开发者课程 3580 16分9秒 136_尚硅谷_Go核心编程_Go时间和日期函数详解(2).avi https://cloud.tencent.com/developer/information/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8MomentJs%E5%92%8CReact%E6%AF%94%E8%BE%83%E6%97%A5%E6%9C%9F%E5%92%8C%E6%97%B6%E9%97%B4-video