1. 微服务 微服务具有的特点: ◊ 按照业务划分服务 ◊ 每个微服务都有独立的基础组件,如:数据库.缓存等,且运行在独立的进程中: ◊ 微服务之间的通讯通过HTTP协议或者消息组件,具有容错能力: ◊ 微服务之间不耦合,可以随时加入和删除服务: ◊ 单个微服务能够集群化部署,具有负载均衡的能力: ◊ 整个微服务系统有完整的安全机制,包括用户验证.权限验证.资源保护等: ◊ 整个微服务系统有链路追踪能力: ◊ 有一套完整的实时日志系统. 微服务功能主要体现: ◊ 服务的注册与发现 ◊ 服务的负载…
简介 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡工具,在注册中心对Ribbon客户端进行注册后,Ribbon可以基于某种负载均衡算法,如轮询(默认).随机.加权轮询.加权随机等自动帮助服务消费者调用接口. 项目介绍 sc-parent,父模块(请参照SpringCloud学习笔记(1):Eureka注册中心) sc-eureka,注册中心(请参照SpringCloud学习笔记(1):Eureka注册中心) sc-provider-random…
简介 Feign是一个声明式的Web Service客户端,它简化了Web服务客户端的编写操作,相对于Ribbon+RestTemplate的方式,开发者只需通过简单的接口和注解来调用HTTP API.它支持Spring MVC注解和JAX-RS注解,还支持可插拔式的编码器和解码器.整合了Eureka,Ribbon和Hystrix,具有可插拔.基于注解.负载均衡.服务熔断等一系列便捷功能. 项目介绍 sc-parent,父模块(请参照SpringCloud学习笔记(1):Eureka注册中心)…
简介 在微服务架构中,微服务之间的依赖关系错综复杂,难免的某些服务会出现故障,导致服务调用方出现远程调度的线程阻塞.在高负载的场景下,如果不做任何处理,可能会引起级联故障,导致服务调用方的资源耗尽甚至整个系统奔溃.Hystrix是一个由Netflix开源的一个延迟和容错库,它通过添加延迟容忍和容错逻辑来帮助控制这些微服务之间的交互.Hystrix通过隔离服务之间的访问点.停止跨服务的级联故障并提供回退选项来实现这一点,所有这些选项都提高了系统的总体弹性. 项目介绍 sc-parent,父模块(请…
简介 上篇文章中讲了使用Hystrix实现容错,除此之外,Hystrix还提供了近乎实时的监控.本文将介绍如何进行服务监控以及使用Hystrix Dashboard来让监控数据图形化. 项目介绍 sc-parent,父模块(请参照SpringCloud学习笔记(1):Eureka注册中心) sc-eureka,注册中心(请参照SpringCloud学习笔记(1):Eureka注册中心) sc-consumer-hystrix-ribbon,使用Hystrix+Ribbon的消费者(请参照Spri…
简介 Zuul是Netflix提供的一个开源的API网关服务器,SpringCloud对Zuul进行了整合和增强.服务网关Zuul聚合了所有微服务接口,并统一对外暴露,外部客户端只需与服务网关交互即可.相对于内部服务而言,能够防止其被外部客户端直接访问而暴露服务的敏感信息,起到了保护作用.除此之外,Zuul还可以实现身份认证.数据监控.动态路由等功能. 项目介绍 sc-parent,父模块(请参照SpringCloud学习笔记(1):Eureka注册中心) sc-eureka,注册中心(请参照S…
简介 Spring Cloud Config为分布式系统中的外部化配置提供了服务器端和客户端支持,服务器端统一管理所有配置文件,客户端在启动时从服务端获取配置信息.服务器端有多种配置方式,如将配置文件存储在本地或者存储在远程Git仓库等等,并且在配置文件被更改时,可以通过多种途径如actuator的/refresh端点或者Spring Cloud Bus来动态刷新客户端的配置,而无需重新启动客户端. 项目介绍 sc-parent,父模块(请参照SpringCloud学习笔记(1):Eureka注…
SpringCloud学习笔记:服务支撑组件 服务支撑组件 在微服务的演进过程中,为了最大化利用微服务的优势,保障系统的高可用性,需要通过一些服务支撑组件来协助服务间有效的协作.各个服务支撑组件的原理可以参考我的之前一篇文章:微服务实践:服务治理. Spring Cloud提供的支持 Eureka:各个服务启动时,Eureka Client都会将服务注册到Eureka Server,并且Eureka Client还可以反过来从Eureka Server拉取注册表,从而知道其他服务在哪里. Rib…
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者服务器 一.安装webpack 你需要之前安装node.js $ npm install webpack -g 安装成功后,便可以使用webpack命令行了. ok,开始工作! 二.新建一个空目录,名字为myApp,文件如下 entry.js document.write("It works.&qu…
Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习Android开发做些准备. Java和C++的语法有很多类似之处,学习中重点关注的是差异部分.   数据类型 Java支持的基本数据类型有: 1) 整数:byte/short/int/long 2) 浮点:float/double 3) 字符:char 4) 布尔:boolean   除此之外,通过类…
卷积神经网络(CNN)学习笔记1:基础入门 Posted on 2016-03-01   |   In Machine Learning  |   9 Comments  |   14935  Views 概述 卷积神经网络(Convolutional Neural Network, CNN)是深度学习技术中极具代表的网络结构之一,在图像处理领域取得了很大的成功,在国际标准的ImageNet数据集上,许多成功的模型都是基于CNN的.CNN相较于传统的图像处理算法的优点之一在于,避免了对图像复杂的…
「学习笔记」字符串基础:Hash,KMP与Trie 点击查看目录 目录 「学习笔记」字符串基础:Hash,KMP与Trie Hash 算法 代码 KMP 算法 前置知识:\(\text{Border}\) 思路 代码 \(\text{KMP}\) 匹配 思路 代码 Trie 数据结构 01-Trie 代码 练习题 Hash Bovine Genomics 思路 代码 [TJOI2018]碱基序列 思路 代码 [CQOI2014]通配符匹配 [NOI2017] 蚯蚓排队 思路 代码 KMP See…
什么是微服务架构 简单地说,微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的RESTful API进行通信协作.被拆分成的每个小型服务都围绕着系统中的某一项或一些耦合度较高的业务功能进行构建,并且每个服务都围绕着自身的数据存储.业务开发.自动化测试案例以及独立部署机制.由于有了轻量级的通信协议基础,所以这些微服务可以使用不同的语言来编写. 与单体系统的区别 单体系统:(1)耦合性高: (2)随着系…
什么是微服务架构 简单地说,微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的RESTful API进行通信协作.被拆分成的每个小型服务都围绕着系统中的某一项或一些耦合度较高的业务功能进行构建,并且每个服务都围绕着自身的数据存储.业务开发.自动化测试案例以及独立部署机制.由于有了轻量级的通信协议基础,所以这些微服务可以使用不同的语言来编写. 与单体系统的区别 单体系统:(1)耦合性高: (2)随着系…
什么是微服务? 看笔记二 微服务之间是如何独立通讯的? 服务与服务间采⽤轻量级的通信机制互相协作(通常是基于HTTP协议的RESTful API) SpringCloud和Dubbo有什么区别? Dubbo是通过rpc远程调用,微服务cloud是通过rest调用. 最大区别: SpringCloud抛弃了Dubbo的RPC通信,采用的是基于HTTP的REST方式. 严格来说,这两种方式各有优劣.虽然从一定程度上来说,后者牺牲了服务调用的性能,但也避免了上面提到的原生RPC带来的问题.而且REST…
从技术维度理解: 微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底 地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事, 从技术角度看就是一种小而独立的处理过程,类似进程概念,能够自行单独启动 或销毁,拥有自己独立的数据库. 从专业维度理解: 业界大牛马丁.福勒(Martin Fowler) 这样描述微服务: 论文网址: https://martinfowler.com/articles/microservices.html • 微服务 强调的是服务的大小,它…
目录: Ribbon简介 Ribbon的应用 RestTemplate简介 Ribbon负载均衡源码分析 Ribbon简介: 1.负载均衡是什么 负载均衡,根据其字面意思来说就是让集群服务具有共同完成工作的能力,通过负载均衡可以在多个应用实例之间自动分配程序对外服务的能力:从而通过消除单点机器的故障,提升应用的容错能力,让应用更加高效.稳定.安全. 2.SpringCloud Ribbon是什么 SpringCloud Ribbon是基于Http和TCP的一种负载工具,基于Netflix Rib…
简介 官网解释: http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feign Feign是一个声明式WebService客户端.使用Feign能让编写Web Service客户端更加简单, 它的使用方法是定义一个接口,然后在上面添加注解,同时也支持JAX-RS标准的注解.Feign也支持可拔插式的编码器和解码器.Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解和Htt…
1. Eureka简介 Eureka是一个用于服务注册和发现的组件,分为Eureka Server和Eureka Client,Eureka Server为Eureka服务注册中心,Eureka Client为Eureka客户端. Eureka是SpringCloud首选推荐的注册与服务发现组件,与SpringCloud其他组件可以无缝对接. Eureka的基本框架主要包括3种角色: ◊ Register Service:服务注册中心,是一个Eureka Server,提供服务注册与发现功能:…
一.什么是springcloud,有什么作用 Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载均衡.断路器.数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署. 二.springcloud的基本使用 1.服务的注册与发现 ①创建一个parent maven项目springcloud,然后在该maven项目下面创建两个子项目eureka-server,eurek…
目录: 配置中心简介 SpringCloud Config服务端 SpringCloud Config客户端 动态配置属性bean 一些补充(源码分析):Spring事件监听.健康检查health().高可用的分布式配置中心 配置中心简介: 1.什么是配置中心 从字面意思上来说,配置中心就是管理程序配置的一个公共服务:它管理了系统业务相关的配置内容,在系统启动时去加载这些数据. 2.使用配置中心的好处 )统一管理配置的格式,可以更加有效的维护配置 )让私密配置更安全(配置不在项目中,而是在配置中…
目录: 什么是SpringCloud Sleuth 为什么使用SpringCloud Sleuth 如何使用SpringCloud Sleuth 什么是SpringCloud Sleuth: SpringCloud sleuth是一款分布式跟踪框架,它为SpringCloud提供了很好的跟踪解决方案. 为什么使用SpringCloud Sleuth: 在分布式系统中,用户的一次请求可能不仅仅是一个简单的http调用了,可能会涉及到很多不同的服务,而当系统越来越复杂的时候那一次调用可能涉及到十几个…
目录: 什么是SpringCloud Stream 如何使用SpringCloud Stream 消息分流 什么是SpringCloud Stream: SpringCloud Stream是一个用于构建消息驱动的微服务应用框架.它通过注入,输入.输出通道来与外界通信:因此它很容易实现消息的中转,并且在更换消息中间件的时候不需要该代码,仅需要修改配置即可.支持的消息中间件如RabbitMQ.Kafka等等. 如何使用SpringCloud Stream(以RabbitMQ为例): 1.增加mav…
1.Eureka概述 (1)引子 网约车出现以前,人们出门叫车只能叫出租车.一些私家车想做出租却没有资格,被称为黑车.而很多人想要约车,但是无奈出租车太少,不方便.私家车很多却不敢拦,而且满大街的车,谁知道哪个才是愿意载人的.一个想要,一个愿意给,就是缺乏管理啊.此时滴滴这样的网约车平台出现了,所有想载客的私家车全部到滴滴注册,记录你的车型(服务类型),身份信息(联系方式).这样提供服务的私家车,在滴滴那里都能找到,一目了然.此时要叫车的人,只需要打开APP,输入你的目的地,选择车型(服务类型)…
学习笔记(连载)之Linux系列 Note:本学习笔记源自<鸟哥的Linux私房菜(基础学习篇)>一书,为此书重要内容的摘要和总结,对于一些常识性的知识不再归纳 新型冠状病毒引发的肺炎战"疫"到了关键时期,在家无事可做,突发奇想将自己对于后端技术的学习成果通过Markdown格式记录下来,发表在博客上,帮助自己回顾学过的东西.<鸟哥的Linux私房菜>是一套很好的Linux学习材料,讲得很详细,也很深入.之前我学习Linux都是"用到哪儿,学到哪儿&q…
接05的学习笔记. 四.使用JQ完成省市二级联动 1.需求分析 使用jquery完成省市二级联动 2.技术分析 2.1数组的遍历操作 方式一: $(function(){ // 全选/ 全不选 $("#checkallbox").click(function(){ var isChecked = this.checked; //使用对象访问的方式进行遍历,语法:$().each(function(){}) $("input[name='hobby']")[Think…
先来学习一下C语言基础知识,总结如下: 在xcode下编写代码. 1.编写代码 2.编译:cc –c 文件名.c 编译成功会生成一个 .o的目标文件 3.链接:把目标文件.o和系统自带的库合并在一起,生成一个可执行文件. 指令:cc 文件名.o 链接成功会生成一个.out可执行文件,选择用终端打开运行. 4.运行:./a.out //也可以双击a.out运行  ./表示当前路径 也可以同时编译并链接 指令:cc a.c 可以直接在终端里生成文件,生成一个源文件到当前目录 指令:touch   a…
目录 1.基本标签 2.链接 3.图像 4.表格 5.列表 6.块与布局 1.基本标签 (1)标题与段落 标签 <h1> ~ <h6> 分别用于定义一至六级标题,标签 <p> 用于定义段落,它们都是块级元素,因此浏览器会自动地在标题和段落的前后添加空行 <!DOCTYPE html> <html> <body> <h1>一级标题</h1> <p>在一级标题下显示的段落</p> <h…
将学习到的JAVA基础用xmind记录了下来,需要原件的可以私信…
1.SpringCloud概述 微服务是一种架构方式,最终肯定需要技术架构去实施. 微服务的实现方式很多,但是最火的莫过于Spring Cloud了.SpringCloud优点: - 后台硬:作为Spring家族的一员,有整个Spring全家桶靠山,背景十分强大. - 技术强:Spring作为Java领域的前辈,可以说是功力深厚.有强力的技术团队支撑,一般人还真比不了 - 群众基础好:可以说大多数程序员的成长都伴随着Spring框架,试问:现在有几家公司开发不用Spring?SpringClou…