Server side 用于业务逻辑的服务器端技术

Server side 用于业务逻辑的服务器端技术,server-side,web-deployment,business-logic,web-technologies,Server Side,Web Deployment,Business Logic,Web Technologies,假设我想开发一个web应用程序,该应用程序将拥有注册用户,并将注册为twitter应用程序(允许用户授予它查看其时间线和代表其发布的内容的权限)。该应用程序的唯一功能是根据用户的设置和愿望,从用户的时间线上重新发布推文。 我知道该应用程序的网站将在客户端使用HTML、CSS和JS等常用技术。服务器端(用户在其中定义应用程序应该转发的tweet类型)必须用PHP/Python/Perl/编码。。。基于数据库MySQL/Postgre/ 我不明白,也非常感谢您的帮助,真正的“业务逻辑”将在哪里编码?

假设我想开发一个web应用程序,该应用程序将拥有注册用户,并将注册为twitter应用程序(允许用户授予它查看其时间线和代表其发布的内容的权限)。该应用程序的唯一功能是根据用户的设置和愿望,从用户的时间线上重新发布推文。 我知道该应用程序的网站将在客户端使用HTML、CSS和JS等常用技术。服务器端(用户在其中定义应用程序应该转发的tweet类型)必须用PHP/Python/Perl/编码。。。基于数据库MySQL/Postgre/

我不明白,也非常感谢您的帮助,真正的“业务逻辑”将在哪里编码?例如,我应该使用什么技术来编码我服务器上的功能:每5分钟联系一次Twitter服务器,阅读我拥有的每个用户的时间线,检查是否有值得转发的推文(根据用户的定义),并向Tweeter发送必要的命令,以代表我的用户转发所选tweet

所有这些对于用户来说都是离线的,并且是一个持续的循环过程——但是我应该使用什么技术来编码它呢

谢谢

我听说了。不过,它实际上是我听说过的唯一一个PHP。我知道有一些很好的Python库,但我不知道Perl

事实上,我正在为C#开发一个新的API(对您来说并不合适,因为您显然没有使用Windows服务器),并在开发一个企业web应用程序时开始构建它,该应用程序会引发一些类似于您自己的问题

以下是您必须要做的事情:

  • 在开始之前,您必须与Twitter的一个数据合作伙伴取得联系(我相信您可以联系Twitter以获取参考)
    • 这样做的原因是,您将需要比您想象的更多的请求
    • Twitter记录的速率上限的时间间隔为900秒(5分钟)
    • 使用一般费率限制,如果您在每个费率限制中只查询用户的时间线一次,则您将站点上的访问者数量限制为每次300
    • 这就是问题的症结所在——如果每个用户都发一条Tweet(意味着你发送Tweet-不受速率限制-然后刷新时间线-速率限制-以便他们可以看到更新的Tweet),那么你现在已经将任何给定时间的最大活动用户数降至150
    • 考虑到公司自己的时间线(-1名访问者),再加上浏览器打开时的访问者数量(现在你需要更多的逻辑,你要么启动浏览器,要么只是跟踪谁的时间线,你不会刷新),发多条推文的用户数(每条推文(-1名访问者),等等
    • 这个故事的寓意是:联系他们的一个数据合作伙伴,让你自己得到无限的请求,或者至少有足够的数量来容纳你的访客/用户数量(加上一点填充)
    • 如果您遵守此建议,请跳过步骤2和3,否则,请跳过步骤4
  • (注意:步骤2和3仅适用于速率上限实现)使用您想要的语言,创建一个在服务器上运行的服务,并对Twitter进行查询
    • 根据您提供的信息,我建议您使用Python来提供此服务
    • 该服务将始终运行,并根据自己的时钟,以请求之间的5分钟间隔为基础
    • 您必须使用缓存或数据库系统来存储数据
  • (注意:步骤2和3仅适用于速率上限实现)添加必要的代码以向为数据创建的服务发出请求,并每5分钟执行这些请求
    • 我建议用于向服务发出这些请求的时钟比用于服务的时钟慢一点,以说明数据传输缓慢等情况
    • 您还必须调用服务上的一些方法,以便在队列中添加/删除用户
  • (注意:步骤4仅适用于无限请求实现)忘记服务,只需将请求代码直接包含在用户所在的页面中即可。
    • 用户的时间线将根据他们访问网站的时间或上次刷新时间线的时间(如果发了推特)进行更新
    • 此实现的唯一警告是,您必须为无限/更大的数据速率限制付费