微服务入门到部署 & RESTful API
一、简介一种用于构建应用的架构方案,是松散耦合的分布式架构框架;一批独立运行的服务共同构建起系统,每个服务独自运行,通过特定的机制进行通信,例如:
RESTful
RPC
单独服务的更改不会影响整个应用,开发团队能够快速构建应用的新组件,以满足不断变化的业务需求。
RESTful API
URL 定位资源,用 HTTP 动词(GET、POST、DELETE、DETC)描述操作
http://restful.p2hp.com/REST 是 REpresentational State Transfer(表现层状态转移)的首字母缩写,分布式超媒体系统的架构风格,最初由Roy Fielding 在 2000 年的着名论文中提出;RESTful 表示满足REST原则。
B/S
无状态
可缓存
统一界面
分层系统
按需代码(可选)
URI(Uniform Resource Identifier)统一资源标志符,标识 Web 上每一种可用的资源,常见的 URL(统一资源定位符)只是它的一个子集
GET:查询
POST:新增
PUT:更新
DELETE:删除
幂等性,即对该 URI ...
Nexus Repository 制品库
Nexus Repository 分为 OSS 版和 PRO 版,其中 OSS 版本免费使用,提供对制品的常规存储功能;安全扫描、高可用、用户权限等高级功能,需要付费(PRO 版本)使用Nexus 可以配置 3 种类型的仓库,分别是:proxy、hosted 和 group
代理仓库(proxy):代理远程公共仓库,如 Maven 中央仓库
本地仓库(hosted):该仓库通常用来部署本地项目所产生的构件
仓库组(group):顾名思义,聚合上述两个种仓库统一提供服务服务搭建二进制官网下载并上传至服务器123456789#没有外网手动下载wget https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.42.0-01-unix.tar.gztar xvzf nexus-3.42.0-01-unix.tar.gzmv nexus-3.42.0-01 /app/service/nexuscd /app/service/nexus#前台运行./bin/nexus ru ...
Docker Compose 编排
Docker-Compose 是一个容器编排工具,需要结合 Docker 使用,通过编辑 yaml 文件将所有的容器的部署方法、文件映射、容器端口映射等情况进行提前设置,然后执行 docker-compose up 命令进行快速部署。
入门安装选择合适的版本 - https://github.com/docker/compose123456#下载最新版的 docker-compose 文件curl -L https://github.com/docker/compose/releases/download/v2.6.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose#添加可执行权限chmod +x /usr/local/bin/docker-compose#测试安装结果docker-compose -v
命令12345678910111213141516#停止运行并移除容器docker-compose down#启动单个服务docker-compose up -d 服务名#查看当前运行的服务do ...
Docker Swarm 集群
Docker Swarm 是一个 Dockerized 化的分布式应用程序的本地集群,它是在 Machine 所提供的功能的基础上优化主机资源的利用率和容错服务。
具体来说,Docker Swarm 支持用户创建可运行 Docker Daemon 的主机资源池,然后在资源池中运行 Docker 容器。Docker Swarm 可以管理工作负载并维护集群状态。
一、简介Docker Swarm 是 Docker 官方提供的一套容器编排系统,架构如下:
Swarm 是一系列节点的集合,而节点可以是一台裸机或者一台虚拟机;一个节点能扮演一个或者两个角色,Manager 或者 Worker
Manager 节点:Docker Swarm 集群需要至少一个 Manager 节点,节点之间使用 Raft Consensus Protocol 进行协同工作;通常,第一个启用 Docker Swarm 的节点将成为 Leader,后来加入的都是 Follower;当前的 Leader 如果挂掉,剩余的节点将重新选举出一个新的 Leader;每一个 Manager 都有一个完整的当前集群状态的副本, ...
网站 robots.txt 文件说明
robots.txt 可以告诉搜索引擎您的网站哪些页面可以被收录,哪些页面不可以被收录
如果不想让搜索引擎收录您网站的某些内容,请用 robots.txt 文件指定搜索引擎在您网站上的抓取范围
最简单的严格写法12345678User-agent: *Disallow: /wp-*#Allow: /wp-content/uploads/Disallow: /*.php$Disallow: /*.inc$Disallow: /*.js$Disallow: /*.css$Disallow: /?s=
最合理的写法123456User-agent: *Disallow: /wp-adminDisallow: /wp-content/pluginsDisallow: /wp-content/themesDisallow: /wp-includesDisallow: /?s=
网站 .htaccess 文件说明
一、.htaccess 文件.htaccess 文件又叫分布式配置文件,是 Apache 中针对目录改变配置的方法。即,在一个特定的文档目录中放置一个包含一个或多个指令的文件,以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过 Apache 的 AllowOverride 指令来设置。子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。.htaccess 必须以 ASCII 模式上传,最好将其权限设置为 644。
二、可以做的事1.错误文档的定位常用的客户端请求错误返回代码:401 Authorization Required403 Forbidden404 Not Found405 Method Not Allowed408 Request Timed Out411 Content Length Required412 Precondition Failed413 Request Entity Too Long414 Request URI Too Long415 Unsupported Media Type
2.常见的服务器错误返回代码:500 ...
Git 不完全食用指北
设置免密创建密钥1ssh-keygen -t ed25519 -C "自定义"
添加密钥以 Gitlab 为例,进入个人资料页,“SSH 密钥”->“添加 SSH 密钥”,然后就可以免密操作仓库了Gitlab 不完全食用指北https://yuwei.cc/posts/gitlab.html
使用 Git安装使用1yum install git
全局设置12git config --global user.name "JnuYu"git config --global user.email "work@yuwei.cc"
获取设置123git config --local -lgit config --global -lgit config --system -l
创建仓库1234567git clone git@xxx.xxx.com:xxx/data.gitcd datagit switch -c mastertouch README.mdgit add README.mdgit commit -m "ad ...
Nginx 其他技巧
前置:Nginx 不完全食用指北https://yuwei.cc/posts/nginx.html
GZIP 压缩123456789gzip on;gzip_min_length 1k;gzip_buffers 4 16k;gzip_comp_level 5;gzip_http_version 1.0;gzip_proxied any;gzip_vary off;gzip_disable "MSIE [1-6]\.";gzip_types text/css application/javascript application/xml text/plain application/x-font-ttf ;
访问控制从上到下的顺序,匹配到了便跳出:deny 拒绝,allow 允许
1234567location / { deny 192.168.1.1; allow 127.0.0.0/24; allow 192.168.0.0/16; allow 10.10.0.0/16; deny all;}
请求限制对于大流量恶意的访问,会造成带宽 ...