0%

部署平台选型

前言

GitHub和Gitee(码云)是国内外比较流行的代码托管平台,现都推出GitHub/Gitee Pages可以存放静态网页代码,因此可以用来搭建自己的博客。

优缺点

平台 优点 缺点
Github 全球最流行的平台,且免费 国内由于有墙,访问太慢
Gitee 国内访问快 阉割部分功能,提供有偿服务,比如自动部署、自定义域名等需要升级Gitee Pages Pro

giteepages.png

如上图所示,Gitee是需要付费的,但是考虑到部署到Github上,在国内访问真的太慢,经常加载要十几秒,最终折中了选择,即两个平台同时部署,国外的用户可以访问Github,国内的用户访问Gitee,从而优化访问速度。

阅读全文 »

什么是Hexo?

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

优势

  1. Node.js 所带来的超快生成速度,让上百个页面在几秒内瞬间完成渲染。
  2. Hexo 支持 GitHub Flavored Markdown 的所有功能,甚至可以整合 Octopress 的大多数插件。
  3. 只需一条指令即可部署到 GitHub Pages,Gitee Pages, Heroku 或其他平台。
  4. 强大的 API 带来无限的可能,与数种模板引擎(EJS,Pug,Nunjucks)和工具(Babel,PostCSS,Less/Sass)轻易集成

如何安装?

安装Hexo前需要先安装Node.js和Git,支持windows、Mac、Linux安装,本文主要介绍在如何在Linux上安装

安装Git

阅读全文 »

1.idea中安装docker插件;

2.新建DockerFile,内容如下。

1
2
3
4
5
6
7
8
9
10
11
12
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER vic <test@163.com>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD es-1.0.0-SNAPSHOT.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

3.将es-1.0.0-SNAPSHOT.jar以及DockerFile放到一个目录中,执行命令,生成docker镜像。

1
docker build -t es:1.0.0 -f DockerFile .

4.查看当前的镜像 docker images,并运行镜像,启动容器。

1
docker run -d -p 8081:8081 es:1.0.0
阅读全文 »

一、Prometheus

1.1 简介

Prometheus是一套开源的监控&报警&时间序列数据库的组合,基于应用的metrics来进行监控的开源工具 。

prometheus.png

1.2 下载&安装

  • 下载地址:https://prometheus.io/download/

  • 解压:tar zxvf prometheus-2.12.0.linux-amd64.tar.gz

  • 编辑: prometheus.yml,其中包括全局、alertmanager、告警规则、监控job配置,具体内容如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
- 192.168.88.69:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
- "test_rules.yml"
# - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'

# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.

static_configs:
- targets: ['192.168.88.69:9090']

- job_name: 'monitor'
scrape_interval: 5s
metrics_path: '/actuator/prometheus'
static_configs:
- targets: ['192.168.88.69:8008']

- job_name: 'node-exporter'
static_configs:
- targets: ['192.168.88.69:9100']
阅读全文 »

一、ELK简介

    在传统项目中,如果在生产环境中,有多台不同的服务器集群,如果生产环境需要通过日志定位项目的Bug的话,需要在每台节点上使用传统的命令方式查询,这样效率非常低下。因此我们需要集中化的管理日志,ELK则应运而生。ELK=ElasticSeach+Logstash+Kibana,日志收集原理如下所示。

1、每台服务器集群节点安装Logstash日志收集系统插件

2、每台服务器节点将日志输入到Logstash中

3、Logstash将该日志格式化为json格式,根据每天创建不同的索引,输出到ElasticSearch中

4、浏览器使用安装Kibana查询日志信息 

ELK.png

阅读全文 »

一、背景

    Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

二、配置环境路径

操作系统 server.properties hosts
windows C:\opt\settings\server.properties C:\Windows\System32\drivers\etc\hosts
linux /opt/settings/server.properties /etc/hosts

三、具体配置

3.1 server.properties

env=DEV

阅读全文 »

一、概述

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

二、安装

2.1 安装yasm

1
2
3
4
5
# wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
# tar -zxvf yasm-1.3.0.tar.gz
# cd yasm-1.3.0
# ./configure
# make &amp;&amp; make install

2.2 安装FFmpeg

1
2
3
4
5
6
#yum -y install bzip2
#tar jxvf ffmpeg-4.0.2.tar.bz2
#cd ffmpeg-4.0.2
# ./configure
# make
# make install
阅读全文 »

一、背景

早期内部使用的是当当网fork的Dubbox,由于现在Dubbo又开始重新维护,而且阿里将其捐献给了Apache,并成为了Apache的顶级项目。因此dubbo版本升级到2.7.1势在必行。

二、版本升级

从2.8.4升级到2.7.1

具体可以参考:

Dubbo Spring Boot (v2.7.1) : https://github.com/apache/incubator-dubbo-spring-boot-project
Dubbo (v2.7.1) : https://github.com/apache/incubator-dubbo

三、遇到的问题

阅读全文 »

1.docker 中下载 mysql

docker pull mysql

2.启动

docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

3.进入容器

docker exec -it mysql bash

4.登录mysql,密码输入123456

阅读全文 »

一、简介

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

docker.png

二、Docker与虚拟机的比较

    Docker是在操作系统进程层面的隔离,而虚拟机是在物理资源层面的隔离,两者完全不同,另外,我们也可以通过下面的一个比较,了解两者的根本性差异。

虚拟机与docker区别.png

特性 容器 虚拟机
启动 秒级 分钟级
硬盘使用 一般为MB 一般为GB
性能 接近原生 弱于
系统支持量 单机支持上千个容器 一般为几十个
阅读全文 »