当前位置: 编程技术>软件工程/软件设计
本页文章导读:
▪SNA架构 参考资料:
Shared Nothing Architecture与PHP的童话
Shared Nothing Architecture
以往集群架构都采用Session共享模式进行设计,而后PHP等方面提出了SNA架构,主张Session不共享。SNA架构.........
▪收集的一些蓝牙4.0 BLE开发资料 网上找到的一些很好的资料:
关于samsung连接BLE设备的一些资料汇总和开发过程一些经验总结
http://my.eoe.cn/873912/archive/1319.html
相关的google play上的应用
Fitbit
Bluetooth Smart Scanner
Semilink Inc.
.........
▪获取产品需求的五种方法 很多公司都谈到产品战略规划,那么产品需求到底从何而来,如何获得这些需求?
笔者认为,产品需求主要有三种来源渠道:(1)从已有的市场需求中提炼;(2.........
[1]SNA架构
来源: 互联网 发布时间: 2013-10-30
参考资料:
Shared Nothing Architecture与PHP的童话
Shared Nothing Architecture
以往集群架构都采用Session共享模式进行设计,而后PHP等方面提出了SNA架构,主张Session不共享。SNA架构思想,无论对企业应用还是大型互联网站,极大提高了web应用的吞吐量和性能。
一般SNA架构以集成分布式Cache例如 memcached 的方案居多,此处姑且称为 Cache模式。
我结合公司电信项目的情况,以及思考,总结另一种方案,供参考。
SNA思想的关键就是每个集群内web server实例不互相共享session,Cache模式主张session数据都放到分布式缓存中,意味着,逻辑上集群内还是要共享session信息;这种考虑源于负载均衡时,同一个IP发来的两个请求,可能走到不同的 Web Server上。
因此,只要同一IP的两个请求转发到同一个 Web server实例,那么就可以不需要全局的 session信息缓存。
1) 我所在的移动项目下,采用 F5硬件负载均衡器,使用IP记忆机制实现了这一点。因此,各 web server实例的session无需共享,仍然保存在自己的session内存中,节省了网络开销和Cache命中查找时间。
F5很贵,因此对于网站一般负担不起,但可以采用软件负载来做到这一点。
切分模式的SNA架构:
2) IP Memory(IP记忆):负载服务器记录 客户端IP -> ServerID 的关系,模拟F5;
3) (Dispatch by Rule)按规则转发:IP记忆需要维护一张路由table, 因此,需要消耗一定内存,以及映射关系查找的时间;
我们将客户端的所有IP看作一个集合 IP Set,按固定规则将其平均分配集群的server实例上去,这样就可以节省路由table的开销。 关键是分配算法,可以考虑的有:
2.1) 简单数值法: IP各节加总 = X, 假定集群实例个数为 N,编号1-N, 那么每次请求选择的目标server id = X mod N。
2.2) hash值法: 有的系统可能想基于 userid 进行请求分配, 那么可以采用 X = hashCode(userid), serverID = X mod N;
具体情况下, 可以灵活选择使用那个数据项判断请求分配的逻辑。这个思想参考了 memcached 的集群管理思想。
4) stickySession方式。
一般apache等采用这种方式做负载均衡。但必须结合 jvmRoute。 第一次被分配的 web server必须返回一个 jvmRoute在response中,并由 apache 送到客户端浏览器,第二次请求发起时,request信息中将包含 JSESSIONID 和 对应的 jvmRoute, apache根据次找到对应的 server,完成 stickySession机制。
结论: 切分模式的SNA架构,基于规则进行请求转发,可以省去分布式Cache的使用,更进一步的提升系统吞吐量和响应性。
Shared Nothing Architecture与PHP的童话
Shared Nothing Architecture
以往集群架构都采用Session共享模式进行设计,而后PHP等方面提出了SNA架构,主张Session不共享。SNA架构思想,无论对企业应用还是大型互联网站,极大提高了web应用的吞吐量和性能。
一般SNA架构以集成分布式Cache例如 memcached 的方案居多,此处姑且称为 Cache模式。
我结合公司电信项目的情况,以及思考,总结另一种方案,供参考。
SNA思想的关键就是每个集群内web server实例不互相共享session,Cache模式主张session数据都放到分布式缓存中,意味着,逻辑上集群内还是要共享session信息;这种考虑源于负载均衡时,同一个IP发来的两个请求,可能走到不同的 Web Server上。
因此,只要同一IP的两个请求转发到同一个 Web server实例,那么就可以不需要全局的 session信息缓存。
1) 我所在的移动项目下,采用 F5硬件负载均衡器,使用IP记忆机制实现了这一点。因此,各 web server实例的session无需共享,仍然保存在自己的session内存中,节省了网络开销和Cache命中查找时间。
F5很贵,因此对于网站一般负担不起,但可以采用软件负载来做到这一点。
切分模式的SNA架构:
2) IP Memory(IP记忆):负载服务器记录 客户端IP -> ServerID 的关系,模拟F5;
3) (Dispatch by Rule)按规则转发:IP记忆需要维护一张路由table, 因此,需要消耗一定内存,以及映射关系查找的时间;
我们将客户端的所有IP看作一个集合 IP Set,按固定规则将其平均分配集群的server实例上去,这样就可以节省路由table的开销。 关键是分配算法,可以考虑的有:
2.1) 简单数值法: IP各节加总 = X, 假定集群实例个数为 N,编号1-N, 那么每次请求选择的目标server id = X mod N。
2.2) hash值法: 有的系统可能想基于 userid 进行请求分配, 那么可以采用 X = hashCode(userid), serverID = X mod N;
具体情况下, 可以灵活选择使用那个数据项判断请求分配的逻辑。这个思想参考了 memcached 的集群管理思想。
4) stickySession方式。
一般apache等采用这种方式做负载均衡。但必须结合 jvmRoute。 第一次被分配的 web server必须返回一个 jvmRoute在response中,并由 apache 送到客户端浏览器,第二次请求发起时,request信息中将包含 JSESSIONID 和 对应的 jvmRoute, apache根据次找到对应的 server,完成 stickySession机制。
结论: 切分模式的SNA架构,基于规则进行请求转发,可以省去分布式Cache的使用,更进一步的提升系统吞吐量和响应性。
作者:keda8997110 发表于2013-4-7 17:18:03 原文链接
阅读:0 评论:0
[2]收集的一些蓝牙4.0 BLE开发资料
来源: 互联网 发布时间: 2013-10-30
网上找到的一些很好的资料:
相关的google play上的应用
Fitbit
https://play.google.com/store/apps/details?id=com.semilink.smartscanner&feature=search_result
https://play.google.com/store/apps/details?id=com.fitbit.FitbitMobile
蓝牙Arduino模块,有IOS例子
RedBearLab BLE Shield – First Look http://blog.lincomatic.com/?p=916
蓝牙4.0 For IOS
http://see.sl088.com/wiki/%E8%93%9D%E7%89%994.0_For_IOS
作者:dull_boy2 发表于2013-4-7 23:40:59 原文链接
阅读:4 评论:0 查看评论
[3]获取产品需求的五种方法
来源: 互联网 发布时间: 2013-10-30
很多公司都谈到产品战略规划,那么产品需求到底从何而来,如何获得这些需求?
笔者认为,产品需求主要有三种来源渠道:(1)从已有的市场需求中提炼;(2)策划并激活市场新需求(也叫创造需求);(3)从组织所建设的若干类似项目中提炼出产品需求。
围绕产品需求的这三种来源渠道,笔者认为有五种产品需求获取的方法:
市场搜索法:通过广泛搜集市场需求(包括通过互联网、向目标群体直接了解需求的方式),搜集产品需求。
项目提炼法:指从组织建设的若干用户的项目中,抽取出通用需求,形成产品需求的一种方式。
问卷调查法:在已经拥有比较完整的产品需求的基础之上,就一些细节需求、需要进一步明确的需求(或问题),通过采用向目标群体发送问卷调查表的方式,弄清产品需求的一种需求获取方法。
会议讨论法:指邀请相关专家、目标群体的代表,召开若干次需求讨论会议,挖掘出产品需求的一种需求获取方法。
原型法:指根据自己所了解的产品需求,开发出原型系统给目标群体试用,借助原型系统和目标群体进行交流和沟通,挖掘出产品需求的一种需求获取方法。
笔者认为,产品需求主要有三种来源渠道:(1)从已有的市场需求中提炼;(2)策划并激活市场新需求(也叫创造需求);(3)从组织所建设的若干类似项目中提炼出产品需求。
围绕产品需求的这三种来源渠道,笔者认为有五种产品需求获取的方法:
市场搜索法:通过广泛搜集市场需求(包括通过互联网、向目标群体直接了解需求的方式),搜集产品需求。
项目提炼法:指从组织建设的若干用户的项目中,抽取出通用需求,形成产品需求的一种方式。
问卷调查法:在已经拥有比较完整的产品需求的基础之上,就一些细节需求、需要进一步明确的需求(或问题),通过采用向目标群体发送问卷调查表的方式,弄清产品需求的一种需求获取方法。
会议讨论法:指邀请相关专家、目标群体的代表,召开若干次需求讨论会议,挖掘出产品需求的一种需求获取方法。
原型法:指根据自己所了解的产品需求,开发出原型系统给目标群体试用,借助原型系统和目标群体进行交流和沟通,挖掘出产品需求的一种需求获取方法。
作者:xiaoxiangtuo 发表于2013-4-8 10:05:54 原文链接
阅读:56 评论:0 查看评论
最新技术文章:
 
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!