2019年4月8日

Spring Boot Admin 监控中心

摘要: Spring Boot Admin 监控中心 Spring Boot Admin用来收集微服务系统的健康状态、会话数量、并发数、服务资源、延迟等度量信息 服务端 建立spring cloud admin maven工程,导入pom依赖和完善目录结构 pom依赖 pom.xml 注意增加了两个依赖: 阅读全文

posted @ 2019-04-08 17:00 Swagger-Ranger 阅读(913) 评论(0) 推荐(0)

SpringCloud 分布式配置中心

摘要: SpringCloud 分布式配置中心 服务端 创建工程并完善结构 国际惯例,把maven工程创建完善 pom.xml application.yml 配置说明: spring.cloud.config.label:配置仓库的分支 spring.cloud.config.server.git.uri 阅读全文

posted @ 2019-04-08 16:53 Swagger-Ranger 阅读(633) 评论(0) 推荐(0)

springcloud-Netflix创建服务消费者

摘要: springcloud Netflix创建服务消费者 [TOC] 在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于 http restful 的。Spring cloud 有两种服务调用方式,两种都是http方式的不是rpc方式 一种是 ribbon + restTemplat 阅读全文

posted @ 2019-04-08 16:49 Swagger-Ranger 阅读(370) 评论(0) 推荐(0)

Spring Cloud Zuul

摘要: Spring Cloud Zuul [TOC] Zuul负责路由转发和过滤 总览 在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、熔断器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。一个简单的微服务系统如下图: 在 Spring 阅读全文

posted @ 2019-04-08 16:46 Swagger-Ranger 阅读(140) 评论(0) 推荐(0)

Spring Cloud 熔断器

摘要: Spring Cloud 熔断器 [TOC] 在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以通过 RPC 相互调用,在 Spring Cloud 中可以用 RestTemplate + Ribbon 和 Feign 来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者 阅读全文

posted @ 2019-04-08 16:44 Swagger-Ranger 阅读(188) 评论(0) 推荐(0)

树莓派连接启动SSH

摘要: 树莓派的官方更新消息发布:http://downloads.raspberrypi.org/raspbian/release_notes.txt SSH禁用的启用方法: 2016年11月25日: SSH默认禁用; 可以通过在启动分区中创建名称为“ssh”的文件来启用 在默认密码不变的情况下启用SSH 阅读全文

posted @ 2019-04-08 16:40 Swagger-Ranger 阅读(393) 评论(0) 推荐(0)

win10红警黑屏和无法打开的处理

摘要: 原因:win10或者win7无法打红警的原因,除开软件本身坏了等情况,多半是因为显示比率不对不上和系统不兼容导致的处理方法是: 1.将快捷方式发送到桌面(只是为了方便打开,当然你也可以不发送到桌面,关键只是需要创建一个快捷方式来使执行的时候可以加参数),将执行目标后加参数 win。这样就可以进入后以 阅读全文

posted @ 2019-04-08 16:39 Swagger-Ranger 阅读(2628) 评论(0) 推荐(0)

MAVEN

摘要: MAVEN [TOC] MAVEN能做什么 1.管理jar包和依赖 2.一键构建,将java源码编译成二进制字节码 3.单元测试,可以将指定目录下的单元测试一次性执行完成并返回结果 4.项目打包,将代码,依赖资源和配置整合到一起,定性打包,如果是web项目,还需要将之发布到服务器 MAVEN的标准目 阅读全文

posted @ 2019-04-08 16:32 Swagger-Ranger 阅读(491) 评论(0) 推荐(0)

单点故障和分布式锁

摘要: 单点故障和分布式锁 单点故障:由于一个服务故障或阻塞导致后面的服务都不可用,致使整个系统陷入瘫痪 分布式锁:分布式锁是解决单点故障的一种方式,zookeeper既是其中之一被称为分布式协调技术 为什么要使用分布式锁: 因为在分布式应用中,存在多组服务即进程访问同一块数据的问题,比如,网上商城同时3个 阅读全文

posted @ 2019-04-08 16:24 Swagger-Ranger 阅读(377) 评论(0) 推荐(0)

REST

摘要: REST [TOC] 资料引用 "REST简介" "RESTful API 最佳实践" REST的定义 Representational State Transfer (REST) 其实是一种组织Web服务的架构,而并不是我们想象的那样是实现Web服务的一种新的技术,更没有要求一定要使用HTTP。其 阅读全文

posted @ 2019-04-08 16:23 Swagger-Ranger 阅读(282) 评论(0) 推荐(0)

微服务目的

摘要: 微服务目的 [TOC] 微服务目的 微服务目的是为了更好的进行分布式系统开发,拆分单体应用为多个服务每个服务都是一个独立运行的项目。那么分布式系统就一定会涉及四个问题: 1.客户端如何访问服务 2.服务间如何通信 3.服务如何治理 4.服务挂了如何处理 具体对应的问题细化一下就是: 1.API 网关 阅读全文

posted @ 2019-04-08 16:19 Swagger-Ranger 阅读(741) 评论(0) 推荐(0)

Java微服务 进程间通信

摘要: 进程间通信 [TOC] 同步调用 同步调用比较简单,一致性强,但是容易出调用问题,出现单点故障,因为之间相互依赖,比如RPC必须要依赖的模块上线可用,己方才能调用,性能体验上也会差些,特别是调用层次多的时候。同步调用现在主要有两种:REST 和RPC REST 一般基于 HTTP,更容易实现,更容易 阅读全文

posted @ 2019-04-08 16:17 Swagger-Ranger 阅读(658) 评论(0) 推荐(0)

用户和用户组

摘要: 用户和用户组 [TOC] 1.文件 用户和用户组文件保存在/etc/passwd中,密码文件单独保存在/etc/shadow中 用户和用户组文件/etc/passwd 用户帐号 用户密码(密码单独保存用x占位) 用户ID 用户组ID 用户名全称 用户主目录 用户所使用的shell 比如: 密码文件/ 阅读全文

posted @ 2019-04-08 16:14 Swagger-Ranger 阅读(652) 评论(0) 推荐(0)

TAIL and HEAD

摘要: TAIL and HEAD tail |参数|用法|详解| | | | | |空|不加参数即默认显示最后10行 | f |该参数用于监视File文件增长。 这个是tail的关键参数 | c Number |从 Number 字节位置读取指定文件 | n Number |从 Number 行位置读取指 阅读全文

posted @ 2019-04-08 16:13 Swagger-Ranger 阅读(174) 评论(0) 推荐(0)

Linux网路命令netstat

摘要: Linux网路命令netstat netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。 参数 |参数|用法|详解| | | | | | a或 all:|显示所有连线中的Socket;| | A或 :|列出该网络类型连线中的相 阅读全文

posted @ 2019-04-08 16:12 Swagger-Ranger 阅读(190) 评论(0) 推荐(0)

WGET and CURL

摘要: WGET and CURL [toc] 对比 CURL 和WGET都可以用来下载文件,用法也类似: curl/wget [ option...] [url..] 但两者还是有区别的 |对比|| | | | |curl| 1. curl是LInux下的数据传输工具,可以通过URL想服务器上传数据,或者 阅读全文

posted @ 2019-04-08 16:11 Swagger-Ranger 阅读(544) 评论(0) 推荐(0)

Linux crontab 设置定时任务

摘要: crontab crontab 用于设置系统自动执行的周期性任务 解释: m:minute h:hour dom:day of month mon:month dow:day of week 本博客为Swagger Ranger的笔记分享,文中源码地址: https://github.com/Swa 阅读全文

posted @ 2019-04-08 16:06 Swagger-Ranger 阅读(216) 评论(0) 推荐(0)

Linux常用系统命令

摘要: 命令 说明 用法和备注 stat 显示指定文件的相关信息,比ls命令显示内容更多 stat option file ; 事实上,stat命令显示的是文件的I节点信息。Linux文件系统以块为单位存储信息,为了找到某一个文件所在存储空间的位置,用I节点对每个文件进行索引。所谓的I节点,是文件系统管理的 阅读全文

posted @ 2019-04-08 16:05 Swagger-Ranger 阅读(360) 评论(0) 推荐(0)

Redis 集群

摘要: Redis 集群 [TOC] 集群的作用 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会丢失(或少量丢失)数 据,但是由于数据是存储在一台服务器上的,如果这台服务器出现故障,比如硬盘坏了,也会导致数据丢失。 为了避免单点故障,我们需要将数据复制多份部署在多台不同的服务器上,即使有一台 阅读全文

posted @ 2019-04-08 16:02 Swagger-Ranger 阅读(381) 评论(0) 推荐(0)

Redis的持久化

摘要: Redis的持久化 Redis的数据存储在内存中,内存是瞬时的,如果linux宕机或重启,又或者Redis崩溃或重启,所有的内存数据都会丢失,为解决这个问题,Redis提供两种机制对数据进行持久化存储,便于发生故障后能迅速恢复数据。 RDB Redis Database 在指定时间里将内存数据快照写 阅读全文

posted @ 2019-04-08 16:01 Swagger-Ranger 阅读(156) 评论(0) 推荐(0)

Redis的发布和订阅

摘要: Redis的发布和订阅 Redis发布订阅(pub/sub)是一种消息通信模式,pub发布消息,sub接收消息。(pub/sub)是一种生产者消费者模式,是实现消息队列的一种方式 redis的订阅和发布是解耦和多播的方式。且是一种消息队列的方式,可以实现系统解耦,削峰填谷,顶住流量洪峰。但redis 阅读全文

posted @ 2019-04-08 15:59 Swagger-Ranger 阅读(178) 评论(0) 推荐(0)

UDP 与 TCP

摘要: UDP 与 TCP [TOC] 套接字(socket):ip+端口作为连接的端点,这种端点就叫做套接字,套接字就相当于从网络向进程或者从进程像网络传输数据的门户。所以主机和主机之间通信并不是直接将数据交给进程的,而是将数据交给一个中间的套接字,同时一个进程有一个或者多个套接字,而每个套接字都有唯一的 阅读全文

posted @ 2019-04-08 15:50 Swagger-Ranger 阅读(197) 评论(0) 推荐(0)

计算机时间和空间

摘要: 时间或空间 计算机算法中,时间指做单位位运算的次数,空间是指内存的占用。而时间使用和空间使用往往是可以互换的。 比如交换两个数: 使用空间: 使用时间: 这里使用位运算还能更快 本博客为Swagger Ranger的笔记分享,文中源码地址: https://github.com/Swagger Ra 阅读全文

posted @ 2019-04-08 15:39 Swagger-Ranger 阅读(509) 评论(0) 推荐(0)

IDEA 快捷键

摘要: ctrl +y: 删除一行 CTRL+d :复制一行 Alt+/: 补全 shift + :移动单词 ctrl +w :选择区域 CTRL+shift+w 缩小选择区域 Ctrl+空格:补全xml的tag标签 CTRL+空格就是代码补全 双击shift:搜索所有位置 ctrl+shift+N:搜索并 阅读全文

posted @ 2019-04-08 15:34 Swagger-Ranger 阅读(886) 评论(0) 推荐(0)

Markdown 语法

摘要: 基础语法 特别注意 说在前面: markdown的语法都要使用英文输入,中文符号语法不生效;同时支持\转移字符来使用特殊符号 0.标题 表示标签1 6个 表示从1 6级标题, +空格即显示为对应级别的标题 1.斜体和粗体 \ 和\ \ :表示\ 斜体\ 和\ \ 粗体\ \ 2.外链 使用\[描述] 阅读全文

posted @ 2019-04-08 15:33 Swagger-Ranger 阅读(718) 评论(0) 推荐(0)

Docker 部署mysql

摘要: Docker 部署mysql [TOC] 步骤 1.查找 Docker Hub 上的 MySQL 镜像 这里我们拉取官方的镜像 2.docker pull mysql 拉取镜像 等待下载完成后,我们就可以在本地镜像列表里查到 REPOSITORY 为 mysql 的镜像 3.运行容器 命令参数: p 阅读全文

posted @ 2019-04-08 13:44 Swagger-Ranger 阅读(445) 评论(0) 推荐(0)

Docker Compose

摘要: Docker Compose 用途 服务 (service):一个应用容器,实际上可以运行多个相同镜像的实例。 项目 (project):由一组关联的应用容器组成的一个完整业务单元。 Compose 的默认管理对象是项目,通过子命令对项目中的一组容器进行便捷地生命周期管理。 docker compo 阅读全文

posted @ 2019-04-08 13:43 Swagger-Ranger 阅读(356) 评论(0) 推荐(0)

Dockerfile

摘要: Dockerfile [TOC] 简述: Dockerfile 是一个文本文件,用来定制镜像,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。 镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建 阅读全文

posted @ 2019-04-08 13:42 Swagger-Ranger 阅读(247) 评论(0) 推荐(0)

Docker常用命令

摘要: Docker命令 [toc] 命令格式 docker info 查看docker信息 docker 命令 help 查询使用方法和参数 docker命令的格式:docker 具体命令 参数 镜像 image 查看镜像 docker image ls或者docker images 查看已有的镜像 do 阅读全文

posted @ 2019-04-08 13:41 Swagger-Ranger 阅读(899) 评论(0) 推荐(0)

docker镜像与容器

摘要: docker镜像与容器 [TOC] 概述 我们都知道,操作系统分为内核和用户空间。对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持。而 Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 阅读全文

posted @ 2019-04-08 13:39 Swagger-Ranger 阅读(620) 评论(0) 推荐(0)

Docker容器与容器数据

摘要: Docker容器与容器数据 image 与container 镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的 类 和 实例 一样,镜像是静态的定义,容器是镜像运行时的实体。 容器的实质 容器可以被创建、启动、停止、删除、暂停等。 容器的实质是进程 ,但与直接在宿主执 阅读全文

posted @ 2019-04-08 13:38 Swagger-Ranger 阅读(513) 评论(0) 推荐(0)

docker命令自动安装

摘要: docker命令自动安装 操作 操作就是执行两句脚本 正常脚本输出 执行脚本后的输出 验证结果 docker version 本博客为Swagger Ranger的笔记分享,文中源码地址: https://github.com/Swagger Ranger 欢迎交流指正,如有侵权请联系作者确认删除: 阅读全文

posted @ 2019-04-08 13:38 Swagger-Ranger 阅读(659) 评论(0) 推荐(0)

Docker与虚拟机

摘要: Docker与虚拟机 简述 Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得 Docker 技术比虚拟机技术更为轻便、快捷。下面的图片比较了 Docker 和传统虚拟化方式的不同之处。传统虚拟机技术是虚拟出一套硬件后,在其上运行 阅读全文

posted @ 2019-04-08 13:36 Swagger-Ranger 阅读(179) 评论(0) 推荐(0)

Java Lambda表达式 Stream

摘要: Stream Stream不是集合元素,它不是数据结构并不保存数据,而是有关算法和计算的,更像是一个高级版本的Iterator,原始版本的Iterator,用户只能显式地一个一个遍历元素并对其进行操作,Stream则只需要对其包含的元素执行什么操作,比如”过滤掉长度大于10的字符串“,"获取每个字符 阅读全文

posted @ 2019-04-08 13:31 Swagger-Ranger 阅读(257) 评论(0) 推荐(0)

Java Lambda表达式

摘要: Lambda [TOC] Lambda表达式:Java8引入的,一种紧凑,传递行为的方式。整个的思想就是函数式编程,什么是函数式编程,即:函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副 阅读全文

posted @ 2019-04-08 13:29 Swagger-Ranger 阅读(203) 评论(0) 推荐(0)

Java 同步容器和并发容器

摘要: 同步容器和并发容器 先解释一下概念,说下自己的理解: 同步和异步:同步就是串行,两个操作要串行先后一起完成后面的操作要等前面的完成并返回结果才能往下走,而异步则后面的操作可以不用等前面的操作是否完成就能执行自己的操作 阻塞和非阻塞:阻塞就是加锁,某一线程拿到锁之后其他线程就只能等待,非阻塞就是不加锁 阅读全文

posted @ 2019-04-08 13:26 Swagger-Ranger 阅读(322) 评论(0) 推荐(0)

Java 多线程 Fork/Join

摘要: Fork/Join Fork/Join将大任务切分成小任务来分治运算,fork分join合。 一般直接使用ForkJoinTask的子类RecursiveTask。 RecursiveTask的用法 1.新建类A来继承RecursiveTask,实现compute()方法,这个方法就是需要分治的代码 阅读全文

posted @ 2019-04-08 13:24 Swagger-Ranger 阅读(209) 评论(0) 推荐(0)

Java CyclicBarrier

摘要: CyclicBarrier CyclicBarrier,需要等待一组线程全部到达一个指定的点后才能一起执行,就如果开会,需要等人都到齐才开始一样。 创建一个新的 CyclicBarrier ,当给定数量的线程(线程)正在等待时,它将跳闸,当屏障跳闸时执行给定的屏障动作,由最后一个进入屏障的线程执行。 阅读全文

posted @ 2019-04-08 13:23 Swagger-Ranger 阅读(513) 评论(0) 推荐(0)

Java CountDownLatch

摘要: CountDownLatch CountDownLatch使用在当有多个线程一起执行,有任务需要在一定条件下才能执行,CountDownLatch维护一个数,当数减为0时后面的才开始执行。 使用结构 在统筹线程中即最后再执行的线程中新建CountDownLatch 在需要多组线程一起执行的方法中传入 阅读全文

posted @ 2019-04-08 13:22 Swagger-Ranger 阅读(139) 评论(0) 推荐(0)

Java Condition

摘要: Condition condition是相对synchronized的线程通信的更加灵活的方式。 用法 新建锁lock 建立condition, lock.newCondition(); 在锁住的代码中使用condition.await()和condition.signal()/condition. 阅读全文

posted @ 2019-04-08 13:21 Swagger-Ranger 阅读(332) 评论(0) 推荐(0)

Java Lock

摘要: Lock [TOC] lock是一个JDK1.5提供的多线程接口, "JDK API" ,位置就在java/util/concurrent/locks/下 使用锁实现线程安全的关键在于,所有要共享资源的线程都必须使用一把锁,所以一般锁都会设为全局变量,如果设为局部变量就要注意可能每个线程在进入时都会 阅读全文

posted @ 2019-04-08 13:19 Swagger-Ranger 阅读(165) 评论(0) 推荐(0)

JDK原子类操作

摘要: JDK原子类操作及原理 在JDK5之后,JDK提供了对变量的原子类操作, java.util.concurrent.atomic里都是原子类 原子类的分类 原子更新基本类型 原子更新数组 原子更新抽象类型 原子更新字段 原子基本类型 本博客为Swagger Ranger的笔记分享,文中源码地址: h 阅读全文

posted @ 2019-04-08 13:17 Swagger-Ranger 阅读(182) 评论(0) 推荐(0)

Volatile关键字

摘要: Volatile 可见性:一个线程修改了变量的值,其他的线程能够及时读到变量修改后的值。 多线程之间保证可见性的前提,就是多个线程拿到的是同一把锁 volatile:称为轻量级锁,被volatile修饰的变量,在线程之间是可见的。synchronized也是线程可见的,但synchronized比较 阅读全文

posted @ 2019-04-08 13:15 Swagger-Ranger 阅读(217) 评论(0) 推荐(0)

Java 多线程

摘要: 多线程 [TOC] 资源: "url" 线程与进程 进程:运行中的程序,属于操作系统级别的 1.进程是资源分配的基本单位 2.进程中包含多个线程,线程共享进程资源 3.线程是处理器调度的基本单位 线程状态 线程的状态有7种,如下 当启动一个线程就会进入就绪状态(ready to run),当线程获取 阅读全文

posted @ 2019-04-08 13:13 Swagger-Ranger 阅读(231) 评论(0) 推荐(0)

Enum 枚举类

摘要: Enum 枚举类 [toc] 基础 定义与用途 枚举类型是Java 5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。 public abstract class E 阅读全文

posted @ 2019-04-08 13:10 Swagger-Ranger 阅读(3170) 评论(0) 推荐(0)

Annotation 注解

摘要: Annotation 注解 [TOC] Java注解 注解不是程序本身,但可以对程序作出解释。(这一点,跟注释没什么区别) 可以被其他程序(比如:编译器等)读取。(注解信息处理流程,是注解和注释的重大区别 。 如果没有注解信息处理流程,则注解毫无意义 ) 注解是以“@注释名”在代码中存在的,还可以添 阅读全文

posted @ 2019-04-08 13:07 Swagger-Ranger 阅读(575) 评论(0) 推荐(0)

Reflection 反射

摘要: Reflection 反射 [TOC] 反射的定义 反射机制: 在程序运行时可以加载,探知,使用编译期间完全未知的类 程序在运行状态中,可以动态加载一个只有名称的类,对于任意一个加载的类,都能够知道这个类的所有属性和方法;同时任意一个对象也都能够调用它的任意一个方法和属性。同时一个类只有一个反射对象 阅读全文

posted @ 2019-04-08 13:06 Swagger-Ranger 阅读(696) 评论(0) 推荐(0)

JVM 类加载

摘要: JVM 类加载 [TOC] 虚拟机类加载过程 虚拟机完整的加载过程为: 加载 验证 准备 解析 初始化 使用 卸载 这里可以简化为3个主要过程: 加载 链接 初始化 加载 将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区中的运行时数据结构,并在堆中生成一个代表这个类的java.l 阅读全文

posted @ 2019-04-08 12:54 Swagger-Ranger 阅读(159) 评论(0) 推荐(0)

导航