当前位置:  编程技术>软件工程/软件设计
本页文章导读:
    ▪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的使用,更进一步的提升系统吞吐量和响应性。
作者:keda8997110 发表于2013-4-7 17:18:03 原文链接
阅读:0 评论:0
    
[2]收集的一些蓝牙4.0 BLE开发资料
    来源: 互联网  发布时间: 2013-10-30

网上找到的一些很好的资料:


关于samsung连接BLE设备的一些资料汇总和开发过程一些经验总结 http://my.eoe.cn/873912/archive/1319.html


相关的google play上的应用

Fitbit

Bluetooth Smart Scanner Semilink Inc.

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)从组织所建设的若干类似项目中提炼出产品需求。
    围绕产品需求的这三种来源渠道,笔者认为有五种产品需求获取的方法:
    市场搜索法:通过广泛搜集市场需求(包括通过互联网、向目标群体直接了解需求的方式),搜集产品需求。
    项目提炼法:指从组织建设的若干用户的项目中,抽取出通用需求,形成产品需求的一种方式。
    问卷调查法:在已经拥有比较完整的产品需求的基础之上,就一些细节需求、需要进一步明确的需求(或问题),通过采用向目标群体发送问卷调查表的方式,弄清产品需求的一种需求获取方法。
    会议讨论法:指邀请相关专家、目标群体的代表,召开若干次需求讨论会议,挖掘出产品需求的一种需求获取方法。
    原型法:指根据自己所了解的产品需求,开发出原型系统给目标群体试用,借助原型系统和目标群体进行交流和沟通,挖掘出产品需求的一种需求获取方法。
作者:xiaoxiangtuo 发表于2013-4-8 10:05:54 原文链接
阅读:56 评论:0 查看评论

    
最新技术文章:
▪主-主数据库系统架构    ▪java.lang.UnsupportedClassVersionError: Bad version number i...    ▪eclipse项目出现红色叉叉解决方案
▪Play!framework 项目部署到Tomcat    ▪dedecms如何做中英文网站?    ▪Spring Batch Framework– introduction chapter(上)
▪第三章 AOP 基于@AspectJ的AOP    ▪基于插件的服务集成方式    ▪Online Coding开发模式 (通过在线配置实现一个表...
▪观察者模式(Observer)    ▪工厂模式 - 程序实现(java)    ▪几种web并行化编程实现
▪机器学习理论与实战(二)决策树    ▪Hibernate(四)——全面解析一对多关联映射    ▪我所理解的设计模式(C++实现)——解释器模...
▪利用规则引擎打造轻量级的面向服务编程模式...    ▪google blink的设计计划: Out-of-Progress iframes    ▪FS SIP呼叫的消息线程和状态机线程
▪XML FREESWITCH APPLICATION 实现    ▪Drupal 实战    ▪Blink: Chromium的新渲染引擎
▪(十四)桥接模式详解(都市异能版)    ▪你不知道的Eclipse用法:使用Allocation tracker跟...    ▪Linux内核-进程
▪你不知道的Eclipse用法:使用Metrics 测量复杂度    ▪IT行业为什么没有进度    ▪Exchange Server 2010/2013三种不同的故障转移
▪第二章 IoC Spring自动扫描和管理Bean    ▪CMMI简介    ▪目标检测(Object Detection)原理与实现(六)
▪值班总结(1)——探讨sql语句的执行机制    ▪第二章 IoC Annotation注入    ▪CentOS 6.4下安装Vagrant
▪Java NIO框架Netty1简单发送接受    ▪漫画研发之八:会吃的孩子有奶吃    ▪比较ASP和ASP.NET
▪SPRING中的CONTEXTLOADERLISTENER    ▪在Nginx下对网站进行密码保护    ▪Hibernate从入门到精通(五)一对一单向关联映...
▪.NET领域驱动设计—初尝(三:穿过迷雾走向光...    ▪linux下的块设备驱动(一)    ▪Modem项目工作总结
▪工作流--JBPM简介及开发环境搭建    ▪工作流--JBPM核心服务及表结构    ▪Eclipse:使用JDepend 进行依赖项检查
▪windows下用putty上传文件到远程Linux方法    ▪iBatis和Hibernate的5点区别    ▪基于学习的Indexing算法
▪设计模式11---设计模式之中介者模式(Mediator...    ▪带你走进EJB--JMS编程模型    ▪从抽象谈起(二):观察者模式与回调
▪设计模式09---设计模式之生成器模式(Builder)也...    ▪svn_resin_持续优化中    ▪Bitmap recycle方法与制作Bitmap的内存缓存
▪git 分支篇-----不断更新中    ▪Oracle非主键自增长    ▪php设计模式——UML类图 iis7站长之家
▪Eclipse:使用PMD预先检测错误    ▪Jspx.net Framework 5.1 发布    ▪从抽象谈起(一):工厂模式与策略模式
▪Eclipse:使用CheckStyle实施编码标准    ▪【论文阅读】《Chain Replication for Supporting High T...    ▪Struts2 Path_路径问题
▪spring 配置文件详解    ▪Struts2第一个工程helloStruts极其基本配置    ▪Python学习入门基础教程(learning Python)--2 Python简...
▪maven springmvc环境配置    ▪基于SCRUM的金融软件开发项目    ▪software quality assurance 常见问题收录
▪Redis集群明细文档    ▪Dreamer 框架 比Struts2 更加灵活    ▪Maven POM入门
▪git 分支篇-----不断更新中    ▪Oracle非主键自增长    ▪php设计模式——UML类图
▪Matlab,Visio等生成的图片的字体嵌入问题解决...    ▪用Darwin和live555实现的直播框架    ▪学习ORM框架—hibernate(二):由hibernate接口谈...
▪(十)装饰器模式详解(与IO不解的情缘)    ▪无锁编程:最简单例子    ▪【虚拟化实战】网络设计之四Teaming
▪OSGi:生命周期层    ▪Javascript/Jquery——简单定时器    ▪java代码 发送GET、POST请求
▪Entity Framework底层操作封装(3)    ▪HttpClient 发送GET、POST请求    ▪使用spring框架,应用启动时,加载数据
▪Linux下Apache网站目录读写权限的设置    ▪单键模式的C++描述    ▪学习ORM框架—hibernate(一):初识hibernate
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3