01 2019 档案
摘要:首先下载maven 然后win的配置环境变量 maven目录结构 --main --java --package --test --java --package resources 然后Java里面要写 各种包 类 pom 项目对象模型 groupId 一般用包名来表示 表示项目是由哪个开发组织开发
阅读全文
摘要:Docker卸载应用程序 先删除容器,在删除镜像 查询容器 docker ps –a 使用容器id删除容器 docker rm 18e672ecd8ed 查询镜像 docker images 使用镜像id删除镜像 docker rmi d23bdf5b1b1b docker ps 命令“ 正在运行的
阅读全文
摘要:先来一波docker的指令: docker inspect 容器id 查询容器信息 docker stop 容器id 停止容器id docker rm 容器id 删除容器id systemctl restart docker 重启容器 阿里镜像加速 详细参考: https://cr.console.
阅读全文
摘要:最近在学习docker容器。在阿里云上的服务器内核版本比较低。所以,需要先升级。 查看内核命令:uname -r 升级内核,网上也有很多种方式。一般都是下载内核包,然后自己编译。不过这种方式需要注意的是相关的依赖。 嫌下载编译麻烦,可以使用这种方式。 在yum的ELRepo源中,有 m ain l
阅读全文
摘要:Docker 是一个开源的商业产品,有两个版本:社区版(Community Edition,缩写为 CE)和企业版(Enterprise Edition,缩写为 EE)。企业版包含了一些收费服务,个人开发者一般用不到 Docker 要求 CentOS 系统的内核版本在 3.10以上 ,查看本页面的前
阅读全文
摘要:这篇博文,可能对初学linux的小伙伴或对网卡配置不太熟悉linux用户有所帮助, 如果你是老司机呢, 可以多多指正, 如果说这篇博文你看过之后学不会配置linux下的静态IP, 那真是没有好的办法了, 你可能真的不太适合做技术! CentOS7最小化安装后是没有 ifconfig 命令的, 所以说
阅读全文
摘要:关于docker我们入门了解下这么几个知识点就OK了 比如: docker的用处,场景 Linux环境上安装Docker 使用Docker安装Java8 使用Docker安装Nginx 基于Docker部署SpringBoot项目 Docker官方网址: https://docs.docker.co
阅读全文
摘要:MySQL数据库索引总结1. 使用索引的原由2. 数据结构:Hash、平衡二叉树、B树、B+树区别3. 机械硬盘、固态硬盘区别4. Myisam与Innodb B+树的区别5. MySQL中的索引什么数据结构6. B+树中的节点到底存放多少 MySQL官方对索引的定义为:索引(Index)是帮助 M
阅读全文
摘要:1.分布式链路监控与追踪产生背景2.SpringCloud Sleuth + Zipkin3.分布式服务追踪实现原理4.搭建Zipkin服务追踪系统5.搭建Zipkin集成RabbitMQ异步传输6.SpringCloud2.x新知识介绍 分布式链路监控与追踪产生背景 在微服务系统中,随着业务的发展
阅读全文
摘要:Sharding-Jdbc分表分库LogicTable数据分片的逻辑表,对于水平拆分的数据库(表),同一类表的总称。订单信息表拆分为2张表,分别是t_order_0、t_order_1,他们的逻辑表名为t_order。ActualTable在分片的数据库中真实存在的物理表。即上个示例中的t_orde
阅读全文
摘要:maven: yml: config配置: 上面为核心代码 下面是辅助的: Controller: entity: service: mapper: 启动类:
阅读全文
摘要:基于Sharding-Jdbc实现读写分离 基于Sharding-Jdbc实现分表分库Sharding-Jdbc源码分析 数据库集群自动增长id,Sharding-Jdbc 雪花算法 Sharding-Jdbc介绍Sharding-Jdbc在3.0后改名为Shardingsphere它由Shardi
阅读全文
摘要:Mycat可以实现 读写分离 分表分库 主从复制是MySQL自带的哈~ 关于分片取模算法: 根据id进行取模 根据数据库集群的数量(或者说是表数量,mycat里面一个表对应一个库) 使用MyCat分表分库原理分析 Mycat中的路由结果是通过分片字段和分片方法来确定的,如果查询条件中有 id 字段的
阅读全文
摘要:数据库集群会产生的问题: 自增ID问题 数据关联查询问题(水平拆分) 数据同步问题 数据库集群 自动增长id产生重复的话,解决: UUID形式 (没有排序 不是自增) 设置数据库步长 其他方案: redis 或者雪花算法 数据库分库分表的策略: 数据库分表分库策略 数据库分表分库原则遵循 垂直拆分与
阅读全文
摘要:SpringBoot项目整合动态数据源(读写分离) 1.配置多个数据源,根据业务需求访问不同的数据,指定对应的策略:增加,删除,修改操作访问对应数据,查询访问对应数据,不同数据库做好的数据一致性的处理。由于此方法相对易懂,简单,不做过多介绍。 2. 动态切换数据源,根据配置的文件,业务动态切换访问的
阅读全文
摘要:关于MyCat: MyCat应用场景 使用MyCat路由实现读写分离 SpringBoot动态数据源切换原理 SpringBoot项目实现读写分离 使用MyCat实现读写分离 什么是MyCat MyCAT是一款由阿里Cobar演变而来的用于支持数据库,读写分离、分表分库的分布式中间件。MyCAT支持
阅读全文
摘要:MySQL数据库简单介绍 MySQL作为世界上使用最为广泛的数据库之一,免费是其原因之一。但不可忽略的是它本身的功能的确很强大。随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的需求。此时数据库集群就很好的解决了这个问题了。采用MySQL分布式集群,能够搭建一个高并发、负
阅读全文
摘要:1、高并发情况下,生成分布式全局id策略2、利用全球唯一UUID生成订单号优缺点3、基于数据库自增或者序列生成订单号4、数据库集群如何考虑数据库自增唯一性5、基于Redis生成生成全局id策略6、Twitter的Snowflake算法生成全局id7、基于Zookeeper生成全局id 高并发情况下,
阅读全文
摘要:github源码地址:https://github.com/spring-cloud/spring-cloud-security 前言: 什么是开放平台接口 场景 : 总公司与子公司 对接接口 还有一些合作伙伴 总公司 提供接口 1、能够获取到哪个子公司调用 2、授权机制,能够灵活控制接口调用权限。
阅读全文
摘要:1、什么是RBAC权限模型rity2、RBAC权限模型表设计3、整合Mybatis数据库4、UserDetailsService5、动态查询数据库登陆6、动态权限角色拦截 什么是RBAC权限模型r 基于角色的权限访问控制(Role-Based Access Control)作为传统访问控制(自主访问
阅读全文
摘要:对于Spring-Security首先要明白这么几点: 1、什么是SpringSecurityurity2、SpringSecurity应用场景3、SpringBoot整合Security4、Security formLogin 模式5、Security httpBasic模式6、Security
阅读全文
摘要:传统Http协议弊端 传统Http协议弊端是明文的,如果别人采用抓包分析可以获取到明文数据。 什么是Https协议 HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer),简单来讲就是加了安全的HTTP,即HTTP+SSL;我们知道H
阅读全文
摘要:HTTP就是超文本传输协议,底层使用socket TCP长连接,基于请求与响应,是同步请求。 socket 绝对多数语言都是支持socket的,底层走的是二进制传输。 HTTP协议实际上是对Socket请求封装,请求与响应 请求头 请求体 请求响应 关于重定向底层实现原理: 客户端想服务器端发送请求
阅读全文
摘要:Spring Cloud里面有个组件 Zuul网关 网关和 过滤器 拦截器很相似 网关可以实现过滤器 拦截器的功能 而且可以实现Nginx的基本功能 反向代理 负载均衡ribbon Nginx是软负载 ribbon本底客户端负载均衡 网关的核心基本作用: 路由地址 反向代理 黑名单与白名单系统(HT
阅读全文
摘要:URL特殊字符转码 对称加密与非对称加密 DES RSA加密原理 移动APP接口安全加密设计 基于令牌方式实现接口参数安全传输 验签 单向加密 URL转码: 不管是以何种方式传递url时,如果要传递的url中包含特殊字符,如想要传递一个+,但是这个+会被url会被编码成空格,想要传递&,被url处理
阅读全文
摘要:Oauth2.0 认证协议 Oauth2.0 应用场景: 微信联合登录 授权管理 互联网开放平台互相调用保证安全 微信提供api 给toov5调用 然后就可以获取一些微信的信息 比如微信头像 开放平台有 支付宝 微信 百度等等 不同的开放平台 对接的oauth2.0协议流程都是相同,无非接口地址不同
阅读全文
摘要:互联网开放平台设计1.需求:现在A公司与B公司进行合作,B公司需要调用A公司开放的外网接口获取数据,如何保证外网开放接口的安全性。2.常用解决办法:2.1 使用加签名方式,防止篡改数据2.2 使用Https加密传输2.3 搭建OAuth2.0认证授权2.4 使用令牌方式2.5 搭建网关实现黑名单和白
阅读全文
摘要:表单重复提价问题 rpc远程调用时候 发生网络延迟 可能有重试机制 MQ消费者幂等(保证唯一)一样 解决方案: token 令牌 保证唯一的并且是临时的 过一段时间失效 分布式: redis+token 注意在getToken() 这种方法代码一定要上锁 保证只有一个线程执行 否则会造成token不
阅读全文
摘要:防盗链技术 CSRF(模拟请求) 分析防止伪造Token请求攻击 互联网API接口幂等性设计 忘记密码漏洞分析 1.Http请求防盗链 比如A网站有一张图片,被B网站直接通过img标签属性引入,直接盗用A网站图片展示。 如果别人的项目频繁引用我的图片的话 别人请求放访问的是我的 服务器 也会浪费我的
阅读全文
摘要:大型系统分布式日志采集系统ELK全框架 SpringBootSecurity1、传统系统日志收集的问题2、Logstash操作工作原理3、分布式日志收集ELK原理4、Elasticsearch+Logstash+Kiabana整合5、Logstash将数据推送到ES6、Kibana图形界面展示ES日
阅读全文
摘要:1、ES是如何实现分布式高并发全文检索 2、简单介绍ES分片Shards分片技术 3、为什么ES主分片对应的备分片不在同一台节点存放 4、索引的主分片定义好后为什么不能做修改 5、ES如何实现高可用容错方案 6、搭建Linux上环境三台ES高可用集群环境 ES是如何解决高并发 ES是一个分布式全文检
阅读全文
摘要:1、ES是如何实现分布式高并发全文检索 2、简单介绍ES分片Shards分片技术 3、为什么ES主分片对应的备分片不在同一台节点存放 4、索引的主分片定义好后为什么不能做修改 5、ES如何实现高可用容错方案 6、搭建Linux上环境三台ES高可用集群环境 7、基于ES网盘搜索引擎实现 网盘搜索引擎,
阅读全文
摘要:已经把ElasticSearch的核心概念和关系数据库做了一个对比,索引(index)相当于数据库,类型(type)相当于数据表,映射(Mapping)相当于数据表的表结构。ElasticSearch中的映射(Mapping)用来定义一个文档,可以定义所包含的字段以及字段的类型、分词器及属性等等。
阅读全文
摘要:使用因为Elasticsearch中默认的标准分词器分词器对中文分词不是很友好,会将中文词语拆分成一个一个中文的汉子。因此引入中文分词器-es-ik插件 在下载使用插件时候 一定要注意 版本对应! github地址: https://github.com/medcl/elasticsearch-an
阅读全文
摘要:1、ES9300端口号与9200区别2、Elasticsearch倒排索引原理3、Elasticsearch高级查询4、ElasticsearchIK分词器原理5、ElasticsearchIK中文分词器6、IK自定义中文词典热词7、Elasticsearch Mapping映射 1.区别: 930
阅读全文
摘要:就类比数据库到时候去实现 服务器端配置 集群名字 与yml名字一致 pom: 项目结构: Entity: Dao: Controller: 成功: 查看: 查询:
阅读全文
摘要:使用: ##删除索引DELETE /toov5 { } 表示一行数据 toov5 表示数据库 版本控制: 1.为什么要进行版本控制 为了保证数据再多线程操作下的准确性 2.悲观锁和乐观锁(CAS无所机制) 悲观锁:假设会发生并发冲突,屏蔽一切可能违反数据准确性的操作 乐观锁:假设不会发生并发冲突,只
阅读全文
摘要:Linux内存一定要1g以上! 首先要有jdk环境 要求1.8版本以上 elasticsearch是Java写的 将上传的 elasticSearch安装包解压 cd /home/elasticsearch/elasticsearch-6.4.3/config 1、 修改elasticsearch.
阅读全文
摘要:maven依赖: yml: 消费者:消费 topic为“test”的消息 可以看到分区都是0昂~ tets创建时候 partition是1哦 就是在proker1上创建的主题 写个controller,自己生产 ,自己消费 运行后: 可以看到key与对应的分区存储情况! 分区就是不同的 broker
阅读全文
摘要:zk集群环境搭建:https://www.cnblogs.com/toov5/p/9897868.html 三台主机每台的Java版本1.8 下面kafka集群的搭建: 3台虚拟机均进行以下操作: // 解压下载好的kafka压缩包并重命名cd /home wget http://mirror.bi
阅读全文
摘要:Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 kafka 的定义:一个分布式发布-订阅消息传递系统。 它最初由LinkedIn公司开发,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的
阅读全文
摘要:Springcloud 里面对于MQ的整合一个是前一篇的消息总线一个是本文介绍的消息驱动 大体要学习这么几个知识点: 课题:SpringCloud消息驱动Stream1.什么是SpringCloud消息驱动2.消息驱动Stream实现原理3.消息驱动Stream与传统MQ区别4.基于消息驱动整合Ka
阅读全文
摘要:在微服务架构中,通常会使用轻量级的消息代理来构建一个共用的消息主题来连接各个微服务实例,它广播的消息会被所有在注册中心的微服务实例监听和消费,也称消息总线。 SpringCloud中也有对应的解决方案,SpringCloud Bus 将分布式的节点用轻量的消息代理连接起来,可以很容易搭建消息总线,配
阅读全文
摘要:Elasticsearch简单介绍 Elasticsearch (ES)是一个基于Lucene构建的开源、分布式、RESTful 接口全文搜索引擎。Elasticsearch 还是一个分布式文档数据库(存放的JSON格式的),其中每个字段均是被索引的数据且可被搜索(京东的搜索数据商品 细节 相关都可
阅读全文
摘要:案例说明: 经典案例,以目前流行点外卖的案例,用户下单后,调用订单服务,让后订单服务调用派单系统通知送外卖人员送单,这时候订单系统与派单系统采用MQ异步通讯,保证订单表和派单表必须一致! 用传统的HTTP协议不能解决高并发: RabbitMQ解决分布式事务原理方案 确保生产者一定要将数据投递到MQ服
阅读全文
摘要:Config: 生产者 timestamp 设置为0 此时的消费者: 异常状况: 添加死信队列的消费者,并启动后:
阅读全文
摘要:如果消费者 运行时候 报错了 当生产者投递消息后: 消费者会不停的进行打印: 消息一直没有被消费 原因 Rabbitmq 默认情况下 如果消费者程序出现异常情况 会自动实现补偿机制 也就是 重试机制 @RabbitListener底层使用AOP进行拦截,如果程序没有抛出异常,自动提交事务。 如果Ao
阅读全文
摘要:首先配置 my.ini 如果没有将原来的 my-default.ini 备份出一个 修改my.ini 【1】在[client]节点下添加 (这个如果是另一种character_set_server=utf8 这样写我的会报错1067【mysql服务无法启动】,大家可以试试) (这个是客户端的编码配置
阅读全文
摘要:非关系型数据库: key value mongodb redis 关系数据库 E-R关系图 描述实体与实体之间的关系 试试在在存在的事物 男生和女生 学生和班级 员工和部门 MySQL语句 DDL:数据定义语言: 定义数据库 表 结构的 create drop alter DML:数据操作语言: 操
阅读全文
摘要:比如对应Controller 层里面的 某些属性如果写死 会造成维护麻烦 我们可以抽取出来: properties文件的抽取: customer_from_type=002customer_industry_type=001customer_level_type=006 扫描这个配置文件: <con
阅读全文
摘要:Spring mvc中的异常 做统一处理,全局异常处理器 异常处理类代码: 必须实现接口 然后返回值是ModelAndView 那就可以做个展示页面了 这个类要告诉 spring mvc 所以要配置下: 访问controller 1/0的错误 所有页面都返回这个也不是很好~ 升级: 更友好 更灵活的
阅读全文
摘要:Spring整合Mybatis 1、SqlSessionFactory对象应该放到spring容器中作为单例存在。 2、传统dao的开发方式中,应该从spring容器中获得sqlsession对象。 3、Mapper代理形式中,应该从spring容器中直接获得mapper的代理对象。 4、数据库的连
阅读全文
摘要:通过数据库 逆向生成代码 主要配置的文件: 逆向工程只能处理单表操作
阅读全文
只有注册用户登录后才能阅读该文。
只有注册用户登录后才能阅读该文。
摘要:参考: https://blog.csdn.net/lvyuan1234/article/details/53418818 右键,open 操作前提是所有项目移除,并且右键clean掉相关数据! 修改出:
阅读全文
只有注册用户登录后才能阅读该文。