0%

Eureka 高可用

前面讲的例子,都离不开Eureka服务,如果说eureka 突然宕机了,那是不是所有的服务都没法用了。所以我们怎么也得弄几台才行啊
我们看看官方文档的例子:

阅读全文 »

Feign

Feign是一个声明式的Web Service客户端,它使得编写Web Serivce客户端变得更加简单。我们只需要使用Feign来创建一个接口并用注解来配置它既可完成。它具备可插拔的注解支持,包括Feign注解和JAX-RS注解。Feign也支持可插拔的编码器和解码器。Spring Cloud为Feign增加了对Spring MVC注解的支持,还整合了Ribbon和Eureka来提供均衡负载的HTTP客户端实现。

Spring Cloud Netflix 的微服务都是以 HTTP 接口的形式暴露的,所以可以用 Apache 的 HttpClient 或 Spring 的 RestTemplate 去调用,而 Feign 是一个使用起来更加方便的 HTTP 客戶端,使用起来就像是调用自身工程的方法,而感觉不到是调用远程方法

阅读全文 »

微服务架构

“微服务架构” 在之前几年久很火爆了,以至于现在关于微服务的文章很多,资料也是海量,社区同样也是很活跃。
微服务架构 的两大主流 应该就是SpringCloud 与 dubbo 了。
说了那么多,微服务是什么呢?
简单的说,微服务架构就是将一个完整的应用垂直拆分成多个不同的服务,每个服务都是一个个体,可以独立部署、独立维护、独立扩展、服务与服务之间
通过诸如RESTful API 的方式相互调用。

阅读全文 »

nginx 搭建https

一、创建SSL证书

1
2
mkdir -p /etc/nginx/ssl
openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
阅读全文 »

docker 启动mysql时自动执行脚本

上次已经运行了一个 tomcat 我们还需要一个数据库,docker 运行一个mysql 是很简单的比如
1
docker run -d --name testmysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=admin mysql
  • MYSQL_ROOT_PASSWORD=root,指定 root 用户名密码 root
  • MYSQL_DATABASE=admin 容器运行时创建一个数据库名为 admin
    但是这样只能获得一个空的数据库,我们需要有数据的数据库,so
阅读全文 »

制作自己的Docker 镜像

Docker 可以通过 Dockerfile 的内容来自动构建镜像。Dockerfile 是一个包含创建镜像所有命令的文本文件,通过docker build命令可以根据 Dockerfile 的内容构建镜像

目标:在 tomcat中 运行一个.war 文件

一、创建一个Dockerfile 文件

1
2
3
4
5
6
# 先创建一个文件夹为docker-admin
mkdir docker-admin

# 进入文件夹docker-admin 并创建一个Dockerfile
cd docker-admin && vim Dockerfile

阅读全文 »

Docker 初体验

前面看了那么多文字,可能还是不知道docker 怎么用。学编程少不了hello world,所以,我们就来试一个helloworld

一、简单命令

命令 详解
docker search 搜索images
docker pull 获取images
docker run 运行images
docker ps 查看后台运行的容器
docker build 构建images
docker images 列出images
docker rm 删除container
docker rmi 删除images
docker cp 在host和container之间拷贝文件
docker commit 保存改动为新的images
阅读全文 »

一、Docker概述

  • Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
  • Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
  • 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
  • Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。
  • 基于Linux内核的Cgroup,Namespace,以及AUFS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术,由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。
  • 最初实现是基于LXC,从0.7以后开始去除LXC,转而使用自行开发的Libcontainer,从1.1开始,则进一步演进为使用runC和Containerd。
  • Docker在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护,使得Docker技术比虚拟机技术更为轻便、快捷。
阅读全文 »