Nginx 的负载均衡
我们可以建立很多很多服务器,组成一个服务器集群,当用户访问网站时,先访问一个中间服务器,在让这个中间服务器在服务器集群中选择一个压力较小的服务器,然后将该访问请求引入该服务器。如此以来,用户的每次访问,都会保证服务器集群中的每个服务器压力趋于平衡,分担了服务器压力,避免了服务器崩溃的情况。
1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。权重越高,在被访问的概率越大,如上例,分别是30%,70%。
3、url_hash(第三方)
4、fair
Linux常用命令排查问题
cd /home 进入 ‘/ home’ 目录’
cd … 返回上一级目录
cd …/… 返回上两级目录
pwd 显示工作路径
ls 查看目录中的文件
mkdir dir1 创建一个叫做 ‘dir1’ 的目录’
rm -f file1 删除一个叫做 ‘file1’ 的文件’
cp file1 file2 复制一个文件
find / -name file1 从 ‘/’ 开始进入根文件系统搜索文件和目录
grep命令我们往往会用grep命令在某个日志搜索指定关键词
微服务之间的远程调用使用了什么组件使用了什么注解
Feigen服务调用
- 在调用端的启动类添加注解
- @EnableFeignClients
- //服务调用注解,指定被调用端服务名称
- @FeignClient(“service-vod”)
常用注解
@Autowired自动装配
Qualifier(指定注入Bean的名称)
@Resource注解与@Autowired注解作用非常相似
@Controller对应表现层的Bean
@Service对应的是业务层Bean
@Repository
@Configuration把一个类作为一个IoC容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容器中的Bean。
@Configuration把一个类作为一个IoC容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容器中的Bean。
@Scope注解 作用域
@Lazy(true) 表示延迟初始化
@Service用于标注业务层组件、
@Controller用于标注控制层组件(如struts中的action)
@Repository用于标注数据访问组件,即DAO组件。
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
@Scope用于指定scope作用域的(用在类上)
@PostConstruct用于指定初始化方法(用在方法上)
@PreDestory用于指定销毁方法(用在方法上)
@DependsOn:定义Bean初始化及销毁时的顺序
@Primary:自动装配时当出现多个Bean候选者时,被注解为@Primary的Bean将作为首选者,否则将抛出异常
@Autowired 默认按类型装配,如果我们想使用按名称装配,可以结合@Qualifier注解一起使用。如下:
@Autowired @Qualifier(“personDaoBean”) 存在多个实例配合使用
@Resource默认按名称装配,当找不到与名称匹配的bean才会按类型装配。
@PostConstruct 初始化注解
@PreDestroy 摧毁注解 默认 单例 启动就加载
@Async异步方法调用
数据库连接池
**1 dbcp
dbcp可能是使用最多的开源连接池,原因大概是因为配置方便,而且很多开源和tomcat应用例子都是使用的这个连接池吧。
这个连接池可以设置最大和最小连接,连接等待时间等,基本功能都有。这个连接池的配置参见附件压缩包中的:dbcp.xml
使用评价:在具体项目应用中,发现此连接池的持续运行的稳定性还是可以,不过速度稍慢,在大并发量的压力下稳定性
有所下降,此外不提供连接池监控
2 c3p0
c3p0是另外一个开源的连接池,在业界也是比较有名的,这个连接池可以设置最大和最小连接,连接等待时间等,基本功能都有。
这个连接池的配置参见附件压缩包中的:c3p0.xml。
使用评价:在具体项目应用中,发现此连接池的持续运行的稳定性相当不错,在大并发量的压力下稳定性也有一定保证,
此外不提供连接池监控。
3 proxool
proxool这个连接池可能用到的人比较少,但也有一定知名度,这个连接池可以设置最大和最小连接,连接等待时间等,基本功能都有。
这个连接池的配置参见附件压缩包中的:proxool.xml。**
上传的实现
配置依赖:因为我们使用的maven来管理工程,所以我们需要去添加pom文件依赖
配置信息:我这里是配置在 yml 文件中的
// 链接FastDFS服务器,创建tracker和Stroage
搭建好nginx环境后可以通过返回的url路径访问上传的文件
rides常用的数据类型
字符串string
字符串类型是Redis中最为基础的数据存储类型,是一个由字节组成的序列,他在Redis中是二进制安全的
列表list
列表由多个字符串值组成的有序可重复的序列,是链表结构
散列hash
Redis中的散列可以看成具有String key和String value的map容器,可以将多个key-value存储到一个key中
集合set
Redis的集合是无序不可重复的,和列表一样,在执行插入和删除和判断是否存在某元素时,效率是很高的。集合最大的优势在于可以进行交集并集差集操作
有序集合sorted set
和set很像,都是字符串的集合,都不允许重复的成员出现在一个set中