自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

许诗宇的博客

java web开发,看完希望大家左边点一个赞,关注一波,谢谢。 如需联系请加qq 2943699258,并注明姓名与原因。个人的代码库为 https://gitee.com/xushiyu

  • 博客(29)
  • 资源 (10)
  • 收藏
  • 关注

原创 服务器架构变迁,spring cloud技术梳理

目录阶段1:单一集中构建网站阶段2:应用服务器集群配置阶段3:nginx+应用服务器集群配置阶段4:nginx集群+应用服务器集群配置+HA阶段5:CDN+Varnish服务器集群配置阶段6:数据库读写分离阶段7:nosql+分布式搜索引擎阶段8:nosql(HA)+分库分表+MyCat阶段9:分布式文件系统阶段10:应用服务化拆分+消息中间件阶段11:...

2020-02-28 21:25:34 391

原创 spring cloud config简介,架构

目录分布式系统面临的配置问题Spring Cloud Config简介用途Config架构分布式系统面临的配置问题微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的动态的配置管理设施是必不可少的。SpringCloud提供了ConfigServer来解决这个问题,...

2020-02-28 17:34:52 1393

原创 Zuul总结

目录Zuul简介路由访问映射规则基础规则设置代理名称真实服务名忽略设置统一的公共前缀最后的ymlZuul简介Zuul包含了对请求的路由和过滤两个最主要的功能:其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础.Zuul和Eureka进行整合,将Z...

2020-02-28 16:47:23 1168

原创 Hystrix理论和HystrixCommand总结

目录分布式系统面临的问题hystrix简介Hystrix能干吗服务熔断服务降级dashboard简介分布式系统面临的问题复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败。服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微...

2020-02-28 00:40:14 4891

原创 Feign总结

目录Feign简介Feign能干什么feign与ribbon区别feign的调用方式Feign简介Feign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单。它的使用方法是定义一个接口,然后在上面添加注解,同时也支持JAX-RS标准的注解。Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行...

2020-02-27 15:12:38 2350 1

原创 Ribbon总结

目录Ribbon简介负载均衡Ribbon架构IRULE的7种默认算法Ribbon简介Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项如连......

2020-02-27 14:25:07 2701

原创 eureka理论总结

目录Eureka是什么Eureka基本架构三大角色自我保护模式eureka与zookeeper的区别Eureka是什么Eureka是Netflix的一个子模块,也是核心模块之一。Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。服务注册与发现对于微服务架构来说是非常重要的,有了服务发现与注册,只需要使用服务的标识符,就可以访问到...

2020-02-26 23:01:13 6792 1

原创 微服务与Spring Cloud简介

目录微服务微服务优点及缺点微服务技术栈CAP原理对CAP原理的一些常见的理解误区Spring Cloudspring cloud与spring boot关系spring cloud与dubbo的区别微服务微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看就是一种...

2020-02-26 21:05:49 3833

原创 spring cloud总结

微服务,分布式,cap原理,springcloud 及各组件简介,springcloud与dubbo的区别(各自的技术栈)eureka简介,基本架构,三大角色,自我保护,eureka与zookeeper的区别ribbon,负载均衡简介,负载均衡架构,IRULE的7种默认算法,服务...

2020-02-25 17:05:49 3185 1

原创 pom文件报错:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject

pom文件增加<properties><maven-jar-plugin.version>2.6</maven-jar-plugin.version></properties>即可properties与dependencies同一层

2020-02-24 10:46:31 422

原创 Redis基础总结

为什么redis效率高?Redis采用的是基于内存的采用的是单进程单线程模型的KV 数据库,由C语言编写,官方提供的数据是可以达到100000+的QPS(每秒内查询次数)。这个数据不比采用单进程多线程的同样基于内存的 KV 数据库 Memcached 差!1、完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时...

2020-02-23 21:06:12 25001

原创 RabbitMq高可用、高吞吐、高并发

目录单机模式普通集群模式镜像集群模式rabbitMQ对于高可用是基于主从的方式进行实现. 其有三种工作模式: 单机模式、普通集群模式、镜像集群模式单机模式单机模式,就是我们平常玩的demo,生产上肯定不能用。:普通集群模式即在多个服务器上部署多个MQ实例, 每台机器一个实例. 创建的每一个queue,只会存在一个MQ实例上. 但是每一个实例都会同步queue的元数据...

2020-02-22 14:22:09 10352 5

原创 RabbitMq进阶

消息何去何从mandatory和immediate是channel.basicPublish方法中的两个参数,它们都有 当消息传递过程中不可达目的地时将消息返回给生产者的功能。RabbitMQ提供的备份交换器 (Alternate Exchange)可以将未能被交换器路由的消息(没有绑定队列或者没有匹配的绑定)存 储起来,而不用返回给客户端。对于初学者来说,特别容易将mandatory和i...

2020-02-21 20:38:01 1033

原创 RabbitMq客户端开发

连接RabbitMQ下面的代码(代码清单)用来在给定的参数(IP地址、端口号、用户名、密码等)下 连接RabbitMQ:也可以选择使用URI的方式来实现Connection可以用来创建多个Channel实例,但是Channel实例不能在线程间共享, 应用程序应该为每一个线程开辟一个Channel。某些情况下Channel的操作可以并发运行,但 是在其他情况下会导致在网络上出现错...

2020-02-18 17:10:23 406

原创 RabbitMq简介、AMPQ协议简介

RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现https://www.rabbitmq.com/相关概念介绍RabbitMQ整体上是一个生产者与消费者模型,主要负责接收、存储和转发消息。可以把消 息传递的过程想象成:当你将一个包裹送到邮局,邮局会暂存并最终将邮件通过邮递员送到收 件人的手上,RabbitMQ就好比由邮局、邮...

2020-02-14 17:27:24 1925

原创 Redis事务

目录事务简介事务的实现事务开始命令入队事务队列执行事务WATCH命令的实现使用WATCH 命令监视数据库键监视机制的触发判断事务是否安全一个完整的WATCH事务执行过程事务的ACID性质原子性一致性入队错误执行错误服务器停机隔离性耐久性事务简介Redis通过MULTI、EXEC、WATCH等命令来实现事务(tran...

2020-02-13 11:38:14 196

原创 Redis发布订阅与Stream

目录发布与订阅简介频道的订阅与退订订阅频道退订频道模式的订阅与退订订阅模式退订模式发送消息将消息发送给频道订阅者将消息发送给模式订阅者查看订阅信息PUBSUB CHANNELSPUBSUB NUMSUBPUBSUB NUMPAT发布与订阅简介Redis的发布与订阅功能由PUBUSH、SUBSCRIBE、PSUBSCRIBE等命令组成。...

2020-02-12 17:28:45 1001

原创 Redis集群

目录节点启动节点集群数据结构CLUSTER MEET命令的实现槽指派记录节点的槽指派信息传播节点的槽指派信息记录集群所有槽的指派信息CLUSTER ADDSLOTS命令的实现在集群中执行命令计算键属于哪个槽判断槽是否由当前节点负责处理MOVED 错误被隐藏的MOVED错误节点数据库的实现重新分片重新分片的实现原理ASK错误......

2020-02-11 17:07:21 624

原创 消息队列的幂等性

目录幂等性解决方法让每个消息都会有唯一的消息 id幂等性幂等性是数学概念,即 f(x)=f(f(x))。在计算机领域,则是意为对同一个系统,使用同样的条件,一次请求和重复的多次请求对系统资源的影响是一致的。在调用接口时,总有一些特殊情况会导致接口进行重复的调用,如果不对这些情况做出处理,就可能导致脏数据,甚至是业务流程上的问题。比如,后台管理员在新增数据时,由于特殊原因,比...

2020-02-09 16:53:27 8540

原创 消息队列的应用场景

目录异步处理应用解耦流量削锋日志处理消息通讯异步处理如果有操作A和操作B,原来是主要线程O内 顺序执行A,再执行B。现在为了执行速度,O内发送信息给 消息队列A和B,让线程A和B分别执行操作,执行完了后告诉O,执行完了,O再结束逻辑。场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种:串行的方式和并行方式。串行方式:将注册信息写入数据库成功后,...

2020-02-08 23:13:48 304

原创 消息队列简介及选型对比

目录消息队列简介消息队列简单使用这样发消息有什么好处呢?消息队列有什么特性?为什么需要消息队列?消息队列的好处业务解耦最终一致性广播错峰与流控顺序保证消息队列的坏处可用性降低复杂度变高一致性消息队列核心概念消息模式PTP点对点Pub/Sub发布订阅常用消息队列介绍RabbitMQActiveMQRocke...

2020-02-08 22:05:30 2096

原创 消息队列总结

消息队列消息队列简介及选型对比 https://blog.csdn.net/xushiyu1996818/article/details/104224797消息队列的幂等性 https://blog.csdn.net/xushiyu1996818/article/details/104234000消息队列的应用场景 https://blog.csdn.net/xushiyu...

2020-02-08 16:32:45 259

原创 mysql 读写分离

目录读写分离简介what 什么是读写分离?why 为什么要读写分离呢?when 什么时候要读写分离?主从复制与读写分离mysql读写分离mysq支持的复制类型复制的工作过程mysql读写分离原理常见的Mysql读写分离基于程序代码内部实现基于中间代理层实现读写分离简介what 什么是读写分离?读写分离,基本的原理是让主数据库处理事务性增...

2020-02-08 16:26:33 337

原创 mysql binlog、redo log、undo log

目录重做日志(redo log)重做日志-作用重做日志-内容重做日志-什么时候产生重做日志-什么时候释放重做日志-对应的物理文件重做日志-其他回滚日志(undo log)回滚日志-作用回滚日志-内容回滚日志-什么时候产生回滚日志-什么时候释放回滚日志-对应的物理文件回滚日志-其他:二进制日志(binlog)二进制日志-作用二进制日.........

2020-02-07 17:14:02 4925 1

原创 Redis分布式锁

目录分布式锁什么是分布式锁?分布式锁需要具备哪些条件分布式锁的实现有哪些?单机Redis的分布式锁准备工作定义常量类定义锁的抽象类最基础的版本1jedis 的set方法版本2-设置锁的过期时间版本3-设置锁的valuei++问题版本4-具有原子性的释放锁版本5-确保过期时间大于业务执行时间测试集群Redis的分布式锁加锁解...

2020-02-06 21:03:32 3153

原创 Redis缓存问题总结

目录缓存穿透缓存空值布隆过滤器拦截缓存击穿对特定key设置永不过期使用互斥锁(mutex key)缓存雪崩缓存时间增加随机值Redis节点宕机引起的雪崩缓存与数据库双写一致问题操作缓存更新策略1-先更新数据库,后更新缓存更新策略2-先删除缓存,在更新数据库更新策略3-先更新数据库,再删除缓存并发竞争key缓存穿透缓存穿透,...

2020-02-06 11:33:27 1972 1

原创 MVC简介,SpringMVC简介及基本流程

目录MVC简介Spring MVC流程简介HandlerMapplng先生(Web请求的处理协调人)org.springframework.Web.servlet.Controller(Web请求的具体处理者)ViewResolver和View (视图独立战争的领导者)流程图SpringMVC流程实践Spring MVC应用的物理结构ContextLoaderL...

2020-02-04 14:50:49 513

原创 redis常见应用场景

目录string应用场景微博数、粉丝数等热点数据的缓存Session 存储限时业务的运用计数器相关问题分布式全局唯一id(string)分布式锁hash应用场景存储对象信息热点数据的缓存list应用场景关注列表,粉丝列表消息队列set应用场景点赞、好友、粉丝等相互关系的存储抽奖活动(set)zset应用场景排行榜分页、...

2020-02-02 22:37:56 393

原创 AOP二世  基于AspectJ和Schema的AOP

目录AspectJ形式的Spring AOP@AspectJ形式AOP使用之先睹为快编程方式织入通过自动代理织入@AspectJ形式的Pointcut@AspectJ形式Pointout的声明方式@AspectJ形式Pointcut表达式的标志符executionwithinthis和targetargs@within@target@args...

2020-02-01 11:32:04 350

算法第四版

算法第四版

2018-11-30

算法导论中文版

算法导论中文版

2018-11-30

Effective Java 中文第二版

Effective Java 中文第二版

2018-11-30

springmvc4和hibernate5整合jar包

springmvc4和hibernate5整合jar包

2018-09-05

hibernate4所需 jar包

hibernate4所需 jar包

2018-09-04

springmvc所需jar包

springmvc所需jar包

2018-09-04

mybatis jar包

mybatis.jar 放在项目文件夹/WEB-INF/lib下,mybatis jar包完整 可用

2018-07-25

jsoup的jar包,包括文档

jsoup的jar包,包括文档,示例,使用方法,简单易懂。

2018-07-25

hibernate3 jar包

hibernate3.jar 放在项目文件夹/WEB-INF/lib下,hibernate3 jar包完整 可用

2018-07-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除