2019年4月7日
摘要: 动态数据源 在很多具体应用场景的时候,我们需要用到动态数据源的情况,比如多租户的场景,系统登录时需要根据用户信息切换到用户对应的数据库。又比如业务A要访问A数据库,业务B要访问B数据库等,都可以使用动态数据源方案进行解决。接下来,我们就来讲解如何实现动态数据源,以及在过程中剖析动态数据源背后的实现原 阅读全文
posted @ 2019-04-07 21:51 houJINye 阅读(414) 评论(0) 推荐(0)
摘要: 背景概述 1. CSS预处理器 css预处理器定义了一种新的编程语言,编译后成正常的CSS文件。为CSS增加一些编程的特性,无需考虑浏览器的兼容问题,让CSS更加简洁,适应性更强,可读性更佳,更易于代码的维护等诸多。CSS 预处理器语言有 scss(sass)、less 等。 2.SASS和SCSS 阅读全文
posted @ 2019-04-07 21:46 houJINye 阅读(1044) 评论(0) 推荐(0)
摘要: VS Code 常用快捷键 1、注释: 单行注释:ctrl+/, 注释后再按取消 取消单行注释:alt+shift+A 注释后再按取消 2、移动行 向上移动一行:alt+up 向下移动一行:alt+down 3、显示/隐藏左侧目录栏 ctrl + b 4、复制当前行 向上复制一行:shift+alt 阅读全文
posted @ 2019-04-07 21:45 houJINye 阅读(340) 评论(0) 推荐(0)
摘要: 消息队列是分布式应用间交换信息的重要组件,消息队列可驻留在内存或磁盘上, 队列可以存储消息直到它们被应用程序读走。 通过消息队列,应用程序可以在不知道彼此位置的情况下独立处理消息,或者在处理消息前不需要等待接收此消息。 所以消息队列可以解决应用解耦、异步消息、流量削锋等问题,是实现高性能、高可用、可 阅读全文
posted @ 2019-04-07 21:38 houJINye 阅读(291) 评论(0) 推荐(0)
摘要: 消息队列作为分布式系统中重要的组件,可以解决应用耦合,异步消息,流量削锋等系列问题 实现高性能,高可用,可伸缩和最终一致性架构 使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ 消息队列应用场景 以下介绍消息队列在实际应用中常用的使用场 阅读全文
posted @ 2019-04-07 21:37 houJINye 阅读(160) 评论(0) 推荐(0)
摘要: 初衷 记得以前写接口,写完后会整理一份API接口文档,而文档的格式如果没有具体要求的话,最终展示的文档则完全决定于开发者的心情。也许多点,也许少点。甚至,接口总是需要适应新需求的,修改了,增加了,这份文档维护起来就很困难了。于是发现了swagger,自动生成文档的工具。 swagger介绍 首先,官 阅读全文
posted @ 2019-04-07 21:36 houJINye 阅读(566) 评论(0) 推荐(0)
摘要: 登录验证码 登录验证是一般系统都会有的功能,验证的方式也多种多样,比如输入式验证码,拖动式验证条,拖动式验证拼图等等。 我们这里先实现常规的输入验证码的方式,右边显示验证码图片,点击可刷新,左边输入验证码。如下图为实现的效果。 实现案例 验证码的实现需要前后端协同,脱离彼此则不可用,故将前后端的实现 阅读全文
posted @ 2019-04-07 21:23 houJINye 阅读(24185) 评论(2) 推荐(2)
摘要: 技术背景 在微服务架构中,随着业务发展,系统拆分导致系统调用链路愈发复杂,一个看似简单的前端请求可能最终需要调用很多次后端服务才能完成,那么当整个请求出现问题时,我们很难得知到底是哪个服务出了问题导致的,这时就需要解决一个问题,如何快速定位服务故障点,于是,分布式系统调用链追踪技术就此诞生了。 Zi 阅读全文
posted @ 2019-04-07 21:19 houJINye 阅读(879) 评论(0) 推荐(0)
摘要: 技术背景 前面我们通过Ribbon或Feign实现了微服务之间的调用和负载均衡,那我们的各种微服务又要如何提供给外部应用调用呢。 当然,因为是REST API接口,外部客户端直接调用各个微服务是没有问题的,但出于种种原因,这并不是一个好的选择。 让客户端直接与各个微服务通讯,会有以下几个问题: 客户 阅读全文
posted @ 2019-04-07 21:14 houJINye 阅读(433) 评论(0) 推荐(0)
摘要: Spring Cloud Turbine 上一章我们集成了Hystrix Dashboard,使用Hystrix Dashboard可以看到单个应用内的服务信息,显然这是不够的,我们还需要一个工具能让我们汇总系统内多个服务的数据并显示到Hystrix Dashboard上,这个工具就是Turbine 阅读全文
posted @ 2019-04-07 21:11 houJINye 阅读(554) 评论(0) 推荐(0)
摘要: Hystrix Dashboard Hystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间, 请求成功率等数据。 添加依赖 我们新建一个工程 spring-cloud-co 阅读全文
posted @ 2019-04-07 21:08 houJINye 阅读(2559) 评论(0) 推荐(0)
摘要: 雪崩效应 在微服务架构中,由于服务众多,通常会涉及多个服务层级的调用,而一旦基础服务发生故障,很可能会导致级联故障,进而造成整个系统不可用,这种现象被称为服务雪崩效应。服务雪崩效应是一种因“服务提供者”的不可用导致“服务消费者”的不可用,并将这种不可用逐渐放大的过程。 比如在一个系统中, A作为服务 阅读全文
posted @ 2019-04-07 21:07 houJINye 阅读(1043) 评论(0) 推荐(0)
摘要: Spring Cloud Feign Spring Cloud Feign是一套基于Netflix Feign实现的声明式服务调用客户端。它使得编写Web服务客户端变得更加简单。我们只需要通过创建接口并用注解来配置它既可完成对Web服务接口的绑定。它具备可插拔的注解支持,包括Feign注解、JAX- 阅读全文
posted @ 2019-04-07 21:05 houJINye 阅读(263) 评论(0) 推荐(0)
摘要: 使用RestTemplate调用服务 在上一篇教程中,我们是这样调用服务的,先通过 LoadBalancerClient 选取出对应的服务,然后使用 RestTemplate 进行远程调用。 LoadBalancerClient 就是负载均衡器,默认使用的是 Ribbon 的实现 RibbonLoa 阅读全文
posted @ 2019-04-07 21:04 houJINye 阅读(237) 评论(0) 推荐(0)
摘要: 使用Consul提供注册和发现服务 什么是 Consul Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其它分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value 存储 阅读全文
posted @ 2019-04-07 20:59 houJINye 阅读(930) 评论(0) 推荐(0)