发表于: 2017-12-11 21:35:02
1 755
今日完成的事情:
继续回顾任务:
任务六:
●任务六中对服务的web项目性能和承载能力有了一定的了解,通过JMeter压测工具来模拟,实际上数据库是非常的脆弱的,短时间内频繁的访问数据库是承受不了的。所以就有了memcache和redis等缓存工具,再配合nginx负载均衡将大大减少
●JMeter压测工具,可以模拟高并发场景,配置好后对web项目进行并发测试,能在各种结果报告中直观的看见各项数据 ,这里说一下的90%线,也就是90%请求的响应时间最好保证在200ms之内。
●Memcache是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。他是保护脆弱数据库的一个盾牌,把数据库的一些数据通过他存在内存中,用户访问的时候如果他那里有数据就不会再去调用数据库了,需要注意的是存入他的对像是需要序列化的,被击中了再反序列化出来响应请求。Memcache在内存满之后会使用LRU算法来淘汰数据。
●redis也是一种key-value缓存,不过与memcache不同的是他可以支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。然后不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持数据的备份,即master-slave模式的数据备份。还支持redis集群搭建,数据的分配方式是用的哈希槽来分配。需要注意的是:必须要3个或以上的主节点,否则在创建集群时会失败,并且当存活的主节点数小于总节点数的一半时,整个集群就无法提供服务了。
●ngnix负载均衡的最大提升是请求的最大响应时间,多个web分散了请求,能响应更快。
任务七:
●任务七中学习了使用第三方API,短信、邮箱、图片存储。查看第三方API文档,来使用验证,存储,通知等功能,流行的第三方文档都写得很不错,能比较清楚的使用。
●使用第三方API呢要做好安防工作,比如加入获取短信和邮箱的次数限制,图片的防盗链等。然后按照任务要求把第三方账密配置给spring注入。并够通过配置文件快速切不同的第三方图片存储。在用户更换头像后会删除原来的头像。
任务八:
●rmi远程方法调用(Remote Method Invocation)。能够让在某个java虚拟机上的对象像调用本地对象一样调用另一个java 虚拟机中的对象上的方法。把web和service分离开来,有点像java的接口思想:
Client<-->stub<-->[NETWORK]<-->skeleton<-->Server
●rmi是面向对象的,使用Java rmi技术的时候,客户端与服务器端都必须使用Java开发。rmi在TCP协议之上,又定义了自己的应用协议,其传输层采用的是Java远程方法协议(JRMP)。
任务九:
●Tuscany是一个SCA框架。SOA是一种开发思想,是一种松耦合的框架,SOA架构具有高度的兼容性。SCA容器是SOA容器总称的一种。
●SCA服务组件架构,SCA与传统的业务组件最大区别在于SCA实现了两个功能:一是组件和传输协议的分离,二是接口和实现语言的分离。还是一个解耦思想吧,现在还理解不太多。
明天要做的事情:
开始看老大、培宇师兄、付老师的视频。
问题:
收获:
终于回顾完了以前的任务知识,还有很多不足,学海无涯。
后面开始洗髓换骨营和复盘准备,学时还很充裕,不慌。
顺便祝剑飞大师兄找工作顺利,走之前多给几个上品。
评论