
微服务架构
衡木
知道的越多,不知道的越多
展开
-
【微服务架构 - 07 - Spring Boot】06 配置 CROS 解决跨域问题
使用 Java 配置的方式@Configurationpublic class CORSConfiguration extends WebMvcConfigurerAdapter { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**")...原创 2019-03-07 22:10:16 · 167 阅读 · 0 评论 -
【微服务架构 - 10 - Nginx】04 使用 Nginx 解决跨域问题
概述在使用 Nginx 搭建的 CDN 时,可能会出现字体跨域问题:原因是因为字体文件在 CDN 服务器上、项目而在自己的服务器上,这样就出现了跨域问题。跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对 JavaScript 施加的安全限制。如何解决跨域问题?使用 Nginx 反向代理解决跨域问题修改 nginx.conf 文件,增加 head...原创 2019-03-03 11:13:31 · 724 阅读 · 1 评论 -
【微服务架构 - 11 - Redis】02 创建缓存服务提供者
POM<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"原创 2019-02-28 23:50:53 · 248 阅读 · 0 评论 -
【微服务架构 - 11 - Redis】01 Redis Sentinel 集群部署
概述Redis 集群可以在一组 redis 节点之间实现高可用性和 sharding。在集群中会有 1 个 master 和多个 slave 节点。当 master 节点失效时,应该举出一个 slave 节点作为新的 master。然而 Redis 本身(包括它的很多客户端)没有实现自动故障发现并进行主备切换的能力,需要外部的监控方案来实现自动故障恢复。Redis Sentinel 是官方推...原创 2019-02-28 23:43:36 · 371 阅读 · 0 评论 -
【微服务架构 - 10 - Nginx】03 Nginx 负载均衡
Nginx 配置负载均衡修改 /usr/local/docker/nginx/conf 目录下的 nginx.conf 的配置文件:user nginx;worker_processes 1;events { worker_connections 1024;}http { include mime.types; default_type ...原创 2019-02-28 19:41:41 · 609 阅读 · 0 评论 -
【微服务架构 - 10 - Nginx】02 Nginx 反向代理
使用 Nginx 反向代理 Tomcat启动 Tomcat 容器启动两个 Tomcat 容器,映射端口为 9090 和 9091,docker-compose.yml 配置如下:version: '3'services: tomcat1: image: tomcat container_name: tomcat1 ports: - 9090:808...原创 2019-02-28 19:37:02 · 586 阅读 · 0 评论 -
【微服务架构 - 10 - Nginx】01 Nginx 虚拟主机
概述使用 Docker 安装和与运行 Nginx,docker-compose.yml 配置如下:version: '3.1'services: nginx: restart: always image: nginx container_name: nginx ports: - 80:80 volumes: - ./con...原创 2019-02-28 19:33:07 · 204 阅读 · 0 评论 -
【微服务架构 - 08 - Spring Cloud】06 使用熔断器防止服务雪崩
Ribbon 中使用熔断器在 pom.xml 中增加依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId></depend...原创 2019-01-29 14:21:43 · 208 阅读 · 0 评论 -
【微服务架构 - 08 - Spring Cloud】05 创建服务消费者(Feign)
概述Feign 是一个声明式的伪 Http 客户端,它使得写 Http 客户端变得更简单。使用 Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,它使用 Feign 注解和 JAX-RS 注解。Feign 支持可插拔的编码器和解码器。Feign 默认集成了 Ribbon,并和 Eureka 结合,默认实现了负载均衡效果Feign 采用的是基于接口的注解Feign 整合了 Ri...原创 2019-01-29 13:36:26 · 269 阅读 · 0 评论 -
【微服务架构 - 09 - 持续集成】01 使用 GitLab 持续集成
使用 GitLab Runner DockerDockerfile在 /usr/local/docker/runner/environment 目录下创建 DockerfileFROM gitlab/gitlab-runner:v11.0.2# 修改软件源RUN echo 'deb http://mirrors.aliyun.com/ubuntu/ xenial main restr...原创 2019-02-14 20:52:02 · 479 阅读 · 1 评论 -
【微服务架构 - 08 - Spring Cloud】04 创建服务消费者(Ribbon)
概述在微服务架构中,业务都会被拆分成一个独立的服务原创 2019-01-29 00:29:21 · 251 阅读 · 0 评论 -
【微服务架构 - 08 - Spring Cloud】03 创建服务提供者
概述当 Client 向 Server 注册时,它会提供一些元数据,例如主机和端口,URL,主页等。Eureka Server 从每个 Client 实例接受心跳消息。如果心跳超时,则通常将该实例从注册 Server 中删除。POM<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.a...原创 2019-01-28 23:24:33 · 209 阅读 · 0 评论 -
【微服务架构 - 08 - Spring Cloud】02 服务注册与发现
概述在这里,我们需要用的组件是 Spring Cloud Netfix 的 Eureka,Eureka 是一个服务注册和发现模块创建服务注册中心其 pom.xml 文件配置:&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;project xmlns="http://maven.apache.org/POM/4.原创 2019-01-28 21:53:12 · 252 阅读 · 0 评论 -
【微服务架构 - 07 - Spring Boot】06 Spring Boot 配置拦截器
定义拦截器public class MyInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { return ...原创 2019-03-03 11:31:50 · 260 阅读 · 0 评论 -
【微服务架构 - 12 - MyBatis Redis】01 配置 MyBatis Redis 二级缓存
开启 MyBatis 二级缓存在 Spring Boot 配置文件中开启 MyBatis 二级缓存,配置代码如下:mybatis: configuration: cache-enabled: true实体类实现序列化接口并声明序列号private static final long serialVersionUID = -1438690827318640624L;ID...原创 2019-03-06 13:25:34 · 397 阅读 · 0 评论 -
【微服务架构 - 16 - Quartz】01 Quartz 的使用
pom.xml<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency>...原创 2019-03-07 22:06:04 · 658 阅读 · 0 评论 -
【微服务架构 - 15 - RabbitMQ】02 使用 RabbitMQ
生产者bootstrap.ymlspring: application: name: spring-boot-amqp rabbitmq: host: 192.168.106.140 port: 5672 username: rabbit password: 123456创建队列配置@Configurationpublic class ...原创 2019-03-07 21:16:44 · 342 阅读 · 0 评论 -
【微服务架构 - 15 - RabbitMQ】01基于 Docker 安装 RabbitMQ
docker-compose.ymlversion: '3.1'services: rabbitmq: restart: always image: rabbitmq:management container_name: rabbitmq ports: - 5672:5672 - 15672:15672 environmen...原创 2019-03-07 21:10:45 · 278 阅读 · 0 评论 -
【微服务架构 - 17 - Zookeeper】02 Zookeeper 配置说明
Zookeeper 的三种工作模式单机模式:存在单点故障集群模式:在多台机器上部署 Zookeeper 集群,适合线上环境使用。伪集群模式:在一台机器上同时运行多个 Zookeeper 实例,仍然有单点故障问题,当然,其中配置的端口号要错开的,适合实验环境模拟集群使用Zookeeper 的三种端口号2181:客户端连接 Zookeeper 集群使用的监听端口号3888: 选举 l...原创 2019-03-11 09:50:07 · 304 阅读 · 0 评论 -
【微服务架构 - 17 - Zookeeper】01 基于 Docker 安装 Zookeeper
伪集群模式docker-compose.ymlversion: '3.1'services: zoo1: image: zookeeper restart: always hostname: zoo1 ports: - 2181:2181 environment: ...原创 2019-03-11 09:48:49 · 160 阅读 · 0 评论 -
【微服务架构 - 01 - Linux】07 Linux 常用命令
系统管理命令命令说明who显示在线登录用户top显示当前系统中耗费资源最多的进程ps显示瞬间的进程状态free显示当前内存和交换空间的使用情况ifconfig显示网络接口信息ping测试网络的连通性clear清屏kill杀死一个进程开关机命令重启rebootshutdown -r now关机shutd...原创 2019-03-10 14:49:37 · 514 阅读 · 0 评论 -
【微服务架构 - 14 - FastDFS】 02 使用 FastDFS Java 客户端
安装 FastDFS Java 客户端克隆源码git clone https://github.com/happyfish100/fastdfs-client-java.git使用 Maven 从源码安装mvn clean install在项目中添加依赖&lt;dependency&gt; &lt;groupId&gt;org.csource&lt;/groupId&gt...原创 2019-03-07 01:50:58 · 297 阅读 · 0 评论 -
【微服务架构 - 14 - FastDFS】01 安装 FastDFS
环境准备需要以下文件:libfastcommon.tar.gz: FastDFS分离出的一些公用函数包fastdfs-5.11.tar.gz: FastDFS本体nginx-1.13.6.tar.gz: nginxfastdfs-nginx-module_v1.16.tar.gz: FastDFS和nginx的关联模块这些文件在 FastDFS 作者 GitHub 上都有:...原创 2019-03-07 01:31:08 · 404 阅读 · 0 评论 -
【微服务架构 - 13 - Swagger2】01 配置 Swagger2 接口文档引擎
pom.xml&lt;dependency&gt; &lt;groupId&gt;io.springfox&lt;/groupId&gt; &lt;artifactId&gt;springfox-swagger2&lt;/artifactId&gt; &lt;version&gt;2.8.0原创 2019-03-06 20:02:06 · 298 阅读 · 0 评论 -
【微服务架构 - 08 - Spring Cloud】10 服务监控系统
Spring Boot Admin 服务端pom.xml添加 org.jolokia:jolokia-core、de.codecentric:spring-boot-admin-starter-server<dependency> <groupId>org.jolokia</groupId> <artifactId>joloki...原创 2019-03-04 09:40:25 · 569 阅读 · 0 评论 -
【微服务架构 - 08 - Spring Cloud】09 服务链路追踪
ZipKin 服务端pom.xml添加 io.zipkin.java:zipkin、io.zipkin.java:zipkin-server、io.zipkin.java:zipkin-autoconfigure-ui 三个依赖&lt;dependency&gt; &lt;groupId&gt;io.zipkin.java&lt;/groupId&gt; &lt;artif原创 2019-03-04 09:31:08 · 219 阅读 · 0 评论 -
【微服务架构 - 08 - Spring Cloud】08 分布式配置中心
pom.xml添加 spring-cloud-config-server 依赖&lt;dependency&gt; &lt;groupId&gt;org.springframework.cloud&lt;/groupId&gt; &lt;artifactId&gt;spring-cloud-config-server&lt;/artifactI原创 2019-03-04 09:09:17 · 177 阅读 · 0 评论 -
【微服务架构 - 08 - Spring Cloud】01 创建统一的依赖管理
概述Spring Cloud 项目都是基于 Spring Boot 开发的,并且都是使用 Maven 做项目管理工具。在实际开发中,我们一般都会创建一个依赖管理项目作为 Maven 的 Parent 项目使用,这样做可以极大的方便我们对 Jar 包版本的统一管理。创建依赖管理项目创建一个工程名为 hello-spring-cloud-dependencies 的项目,pom.xml 配置文...原创 2019-01-28 21:04:29 · 1354 阅读 · 0 评论 -
【微服务架构 - 08 - Spring Cloud】07 使用路由网关统一访问接口
Zuul 简介Zuul 的主要功能是路由转发和过滤器。路由功能是微服务的一部分,比如 api/user 转发到 User 服务,api/shop 转发到 Shop 服务。Zuul 默认和 Ribbon 结合实现了负载均衡功能。创建路由网关pom.xml 文件如下:&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;project x原创 2019-02-02 12:49:33 · 616 阅读 · 0 评论 -
【微服务架构 - 07 - Spring Boot】05 Spring Boot 整合 MyBatis
Spring Boot 整合 Druid概述Druid 是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池、插件框架和 SQL 解析器组成。该项目主要是为了扩展 JDBC 的一些限制,可以让程序员实现一些特殊的需求,比如向密钥服务请求凭证、统计 SQL 信息、SQL 性能收集、SQL 注入检查、SQL 翻译等,程序员可以通过定制来实现自己需要的功能。Druid 是目前最好的数据库连接池...原创 2019-01-27 17:36:58 · 358 阅读 · 0 评论 -
【微服务架构 - 03 - Git】03 基于 Docker 安装 GitLab
我们使用 Docker 来安装和运行 GitLab 中文版,由于新版本问题较多,这里我们使用目前相对稳定的 10.5 版本,docker-compose.yml 配置如下:version: '3'services: web: image: 'twang2218/gitlab-ce-zh:10.5' restart: always hostname: ...原创 2019-01-25 15:07:35 · 183 阅读 · 0 评论 -
【微服务架构 - 03 - Git】02 TortoiseGit 简化 Git 操作
TortoiseGit, 中文名海龟 Git. 海龟 Git 只支持 Windows 系统, 有一个前辈海龟 SVN, TortoiseSVN 和 TortoiseGit 都是非常优秀的开源的版本库客户端. 分为 32 位版与 64 位版.并且支持各种语言,包括简体中文下载下载地址:https://tortoisegit.org/download/安装我们需要先安装程序包,然后安装语...原创 2019-01-25 12:42:38 · 259 阅读 · 0 评论 -
【微服务架构 - 03 - Git】01 安装 Git
下载下载地址:https://git-scm.com/downloads安装双击安装文件,然后出现出现授权信息界面,点击下一步(Next)即可选择安装路径选择文件关联,如果你不清楚,直接默认,下一步即可接着出现开始菜单文件夹,默认,下一步即可选择 Git 使用的默认编辑器然后是是否配置Path的配置,选择中间一个,可以通过 Windows命令行(CMD)调用 git ...原创 2019-01-25 12:20:12 · 251 阅读 · 0 评论 -
【微服务架构 - 01 - Linux】02 Linux 基本配置
修改数据源由于国内的网络环境问题,我们需要将 Ubutu 的数据源改为国内数据源。查看系统版本lsb_release -a输出结果为:No LSB modules are available.Distributor ID: UbuntuDescription: Ubuntu 16.04 LTSRelease: 16.04Codename: xenial注意:Codename...原创 2019-01-15 09:05:25 · 326 阅读 · 0 评论 -
【微服务架构 - 02 - Docker】08 Docker Compose 常用命令
Docker Compose 常用命令前台运行docker-compose up后台运行docker-compose up -d启动docker-compose start停止docker-compose stop停止并移除容器docker-compose down原创 2019-01-25 00:38:21 · 139 阅读 · 0 评论 -
【微服务架构 - 02 - Docker】07 Docker 常用命令
Docker 常用命令查看 Docker 版本 docker version从 Docker 文件构建 Docker 映像docker build -t image-name docker-file-location运行 Docker 映像docker run -d image-name查看可用的 Docker 映像docker images查看最近的运行容器doc...原创 2019-01-25 00:36:17 · 178 阅读 · 0 评论 -
【微服务架构 - 02 - Docker】06 Docker Compose 部署项目到容器
创建 docker-compose.ymlversion: '3'services: web: restart: always image: tomcat container_name: web ports: - 8080:8080 volumes: - /usr/local/docker/yuublog/ROOT/:/usr...原创 2019-01-25 00:20:43 · 151 阅读 · 0 评论 -
【Dcocker Compose】Docker Compose 的安装
使用二进制包安装在 Linux 上的也安装十分简单,从 官方 GitHub Release 处直接下载编译好的二进制文件即可。例如,在 Linux 64 位系统上直接下载对应的二进制包。$ sudo curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`u...原创 2019-01-24 22:52:09 · 218 阅读 · 0 评论 -
【微服务架构 - 02 - Docker】04 部署项目到容器
将 zip 包放入数据卷中的 ROOT 目录下,并解压root@ubuntu:/usr/local/docker/tomcat/ROOT# lltotal 20drwxr-xr-x 5 root root 4096 Jan 24 21:55 ./drwxr-xr-x 4 root root 4096 Jan 24 21:54 ../drwxr-xr-x 2 root root 4096 ...原创 2019-01-24 22:20:39 · 177 阅读 · 0 评论 -
【微服务架构 - 02 - Docker】03 Docker 构建 MySQL
拉取 MySQL 镜像docker pull mysql:5.7.22运行容器docker run -p 3306:3306 --name mysql \-v /usr/local/docker/mysql/conf:/etc/mysql \-v /usr/local/docker/mysql/logs:/var/log/mysql \-v /usr/local/docker/my...原创 2019-01-24 21:52:44 · 176 阅读 · 0 评论