2017年9月

使用Nginx的反向代理可实现服务端负载均衡SLB(Server Load Balancing),本文介绍几种常用的Nginx软负载方法。

1、负载均衡

负载均衡(Load Balance),意思是将负载(工作任务,访问请求)进行平衡、分摊到多个操作单元(服务器,组件)上进行执行。是解决高性能,单点故障(高可用),扩展性(水平伸缩)的终极解决方案。

SLB的定义引用自伯乐在线一篇文章:http://blog.jobbole.com/97957/,废话不多说,下面几节介绍Nginx实现软负载方法。

2、默认轮询
Nginx配置文件http作用域定义upstream:

upstream test{
    server 10.69.12.10:8010;
    server 10.69.12.12:8010;
    server 10.69.12.14:8010;
}

server作用域Location:

Location /{
    proxy_pass http://test;
    ...
}

- 阅读剩余部分 -

前段时间经常使用的一款APP无秘下架了,伤感(。_。) ,于是想开发一款类似的APP。自己对后端还算熟悉,但是没有客户端的实际开发经验。开发语言Java & OC(Swift)也不熟悉,于是这时我有两个选择,学习Andorid还是iOS,正好身边有iOS开发大牛,另外苹果推行的Swift语言语法不像OC那么别扭(Swift语法特别像Golang,好感+1),加上平时使用的iOS应用体验比Android要好不少,于是选择了学习使用Swift语言开发iOS应用,这里记录初学者使用Swift开发iOS应用的体验。

一、开发工具
毋庸置疑,选择苹果官方的Xcode8,尽量选择最新版本,苹果每次升级iOS的时候都会升级Xode,避免最新版本iOS没法调试,所以最好安装最新版本Xcode。市场上虽然有AppCode、Qt第三方IDE可以开发iOS应用,毕竟不是官方开发的,新人避免入坑,所以使用Xcode。

二、创建工程
选择iOS,Single View App,语言选择Swift,ProductName填写App名字(后面可以更改),一路Next创建工程。

三、目录结构
我认为学习一门新的开发框架,首先需要整体了解工程结构、每个目录文件的存放的什么,这样有利于进一步深入学习。以创建工程名为LoveFinder为例,有如下文件夹:

  • LoveFinder:项目代码,AppDelegate.swift为工程生命周期文件、ViewController.swift文件为UI中View关联的Controller、Main.storyboard为APP 主界面UI文件(可以实现控件的拖拽、可包含多个View)、LunchScreen.storyboard为APP启动UI文件、Info.plist为APP配置信息,比如productName,还可以加入自己的dict,比如Http API接口配置等
  • LoveFinderTests:单侧
  • LoveFinderUITests:UI单测,Tests暂时不需要太多了解
  • Products:APP产出信息

最重要的是LoveFinder源代码目录,搞清里面文件功能关系就ok了。

- 阅读剩余部分 -