mixi.jp:使用开源软件搭建的可扩展SNS网站

Related

Η Bose παρουσίασε τα Sport Open και Ultra Open Earbuds (2nd Gen)

Η Bose φέρνει ξανά τα πάνω κάτω στον ήχο με την επίσημη παρουσίαση των Bose Sport Open Earbuds και των Bose Ultra Open Earbuds (2nd Gen). Η εταιρεία μεγαλώνει την οικογένεια των open-ear ακουστικών της, δίνοντας μια φρέσκια πρόταση για την προπόνηση αλλά και την καθημερινότητα. Οι προπαραγγελίες άνοιξαν στις 19 Σεπτεμβρίου, ενώ η επίσημη

Το Galaxy 27 Ultra θα ενσωματώνει μπαταρία 5.700mAh

Η Samsung ετοιμάζεται να κάνει μια κίνηση που οι φίλοι της σειράς Ultra περίμεναν εδώ και χρόνια. Μετά από μια μεγάλη περίοδο στασιμότητας στο κομμάτι της αυτονομίας, τα νεότερα δεδομένα δείχνουν ότι το επερχόμενο Galaxy S27 Ultra θα ενσωματώνει μπαταρία 5.700mAh, αφήνοντας οριστικά πίσω το κλασικό μέγεθος των 5.000mAh. Η μεγάλη καμπή στην αυτονομία Η

EY – Microsoft: Παγκόσμια πρωτοβουλία για την αξιοποίηση του AI σε εταιρική κλίμακα

Μια πρωτοβουλία που εξελίσσει την παγκόσμια στρατηγική συμμαχία τους ανακοίνωσαν η EY και η Microsoft, επενδύοντας πάνω από $1 δισ. σε ορίζοντα πενταετίας, με στόχο να βοηθήσουν τους οργανισμούς να αξιοποιήσουν την τεχνητή νοημοσύνη (AI) σε εταιρική κλίμακα και να πετύχουν μετρήσιμα αποτελέσματα. Η ανάπτυξη δεξιοτήτων του ανθρώπινου κεφαλαίου, η διαχείριση αλλαγής (change management) και

Όλες οι τελικές λεπτομέρειες για το Clicks Communicator

Η Clicks Technology μόλις αποκάλυψε τις τελικές λεπτομέρειες για το Clicks Communicator, και τα νέα είναι εξαιρετικά για όσους αναζητούν μια συσκευή εστιασμένη στην παραγωγική επικοινωνία. Η εταιρεία δεν περιορίστηκε μόνο σε φρεσκάρισμα των τεχνικών χαρακτηριστικών. Ανακοίνωσε ένα ολόκληρο οικοσύστημα από θήκες, προστατευτικά οθόνης, υπηρεσίες κάλυψης βλαβών μέχρι και δικά της προγράμματα κινητής τηλεφωνίας. Σημαντική

Πρώτη σειρά απολύσεων στην Apple υπό τον Ternus

Η Apple δεν μας έχει συνηθίσει σε μαζικές περικοπές προσωπικού. Αντίθετα με άλλους τεχνολογικούς κολοσσούς που διώχνουν κόσμο κατά χιλιάδες, ο αμερικανικός κολοσσός κρατά συνήθως μια πιο συντηρητική στάση. Ωστόσο, η πρώτη σειρά απολύσεων με τον John Ternus στη θέση του διευθύνοντος συμβούλου είναι πλέον γεγονός. Αυτό σημαίνει ότι η εταιρεία αλλάζει εντελώς πορεία; Όχι

Η μάχη της AI μεταφέρεται στο packaging: Το νέο οχυρό της TSMC και η ευκαιρία για την Ελλάδα

Η TSMC επενδύει σε νέο πάρκο προηγμένου packaging στην Ταϊβάν, καθώς η AI μετακινεί το κρίσιμο σημείο της αλυσίδας chips και ανοίγει παράθυρο για την Ελλάδα.

Τεχνητή νοημοσύνη: ΗΠΑ–Κίνα ανοίγουν δίαυλο για την AI πριν από τη συνάντηση Τραμπ–Σι

Οι ΗΠΑ και η Κίνα συμφώνησαν να δημιουργήσουν έναν νέο μηχανισμό διαλόγου για την τεχνητή νοημοσύνη, λίγες ημέρες πριν από την κρίσιμη συνάντηση του Ντόναλντ Τραμπ με τον Σι Τζινπίνγκ στην Ουάσιγκτον την Πέμπτη. Όπως αναφέρουν οι Financial Times, ο Αμερικανός υπουργός Οικονομικών Σκοτ Μπέσεντ αποκάλυψε ότι η συμφωνία για τον διάλογο γύρω από την

Τεχνητή νοημοσύνη: Ποια θα είναι η νέα δουλειά των δημιουργών

Η τεχνητή νοημοσύνη υποσχέθηκε να κάνει τη δημιουργική εργασία γρηγορότερη και φθηνότερη. Στην πράξη, όμως, δημιούργησε και ένα παράδοξο νέο επάγγελμα: ανθρώπους που πληρώνονται για να διορθώνουν όσα η AI δεν κατάφερε να κάνει σωστά. Γραφίστες εξαφανίζουν επιπλέον δάχτυλα και φτιάχνουν παραμορφωμένα πρόσωπα, μοντέρ διορθώνουν παράλογες σκιές και αντικείμενα που εμφανίζονται από το πουθενά, ενώ

Mobile internet: 4,8 δισ. χρήστες παγκοσμίως – Το μεγάλο ψηφιακό χάσμα

Η χρήση του mobile internet αυξάνεται, όμως 3,4 δισ. άνθρωποι παραμένουν εκτός σύνδεσης – Κόστος συσκευών, ψηφιακές δεξιότητες και ανισότητες μεταξύ χωρών και φύλων παραμένουν τα βασικά εμπόδια Το mobile internet έφτασε το 2025 τους 4,8 δισεκατομμύρια χρήστες, σύμφωνα με την έκθεση της GSMA. Περίπου 3,4 δισεκατομμύρια άνθρωποι παραμένουν εκτός mobile internet, με το μεγαλύτερο

Xiaomi Redmi Note 17 Pro Max 5G Review: “Αντέχει εκεί που όλα τα άλλα… σταματούν”!

Για χρόνια, η βιομηχανία των smartphones κινείται προς την ίδια κατεύθυνση: λεπτότερο design, μικρότερο βάρος και ολοένα πιο εντυπωσιακές επιδόσεις. Συχνά, όμως, αυτή η εμμονή στη λεπτότητα αφήνει σε δεύτερο πλάνο δύο στοιχεία που εξακολουθούν να καθορίζουν την καθημερινή εμπειρία: την αυτονομία και την αντοχή. Η Xiaomi επιλέγει να ακολουθήσει έναν διαφορετικό δρόμο, βάζοντας στο

Η νέα σειρά REDMI Note 17 διαθέσιμη στη Vodafone με προνομιακές τιμές

Η νέα σειρά Xiaomi REDMI Note 17 είναι διαθέσιμη στα καταστήματα Vodafone και στο Vodafone eshop με δυνατότητα εξόφλησης σε έως 36 άτοκες δόσεις μέσω Vodafone Flex και προνομιακές τιμές* για όσους την αποκτήσουν έως τις 4 Οκτωβρίου. Σχεδιασμένη για να ανταποκρίνεται στις απαιτήσεις της καθημερινότητας, η νέα σειρά REDMI Note 17 προσφέρει έως και

Η Honor συνεργάζεται με τη μυθική ARRI στο Honor Magic 9

Οι συνεργασίες μεταξύ εταιρειών κινητής τηλεφωνίας και θρυλικών ονομάτων της φωτογραφίας δεν αποτελούν πλέον έκπληξη. Η Xiaomi δουλεύει με τη Leica, η Oppo με την Hasselblad, η Vivo με τη Zeiss. Τώρα η Honor κάνει το δικό της μεγάλο βήμα, πηγαίνοντας την κατάσταση σε εντελώς άλλο επίπεδο μέσα από τη συμμαχία της με τη μυθική

Share

于敦德 2006-6-27

Ακολουθήστε το fibernews.gr στη Google
Προσθέστε μας στις προτιμώμενες πηγές σας για να βλέπετε συχνότερα τις ειδήσεις και τις αναλύσεις μας στη Google.

Mixi目前是日本排名第三的网站,全球排名42,主要提供SNS服务:日记,群组,站内消息,评论,相册等等,是日本最大的SNS网站。Mixi从2003年12月份开始开发,由现在它的CTO – Batara Kesuma一个人焊,焊了四个月,在2004年2月份开始上线运行。两个月后就注册了1w用户,日访问量60wPV。在随后的一年里,用户增长到了21w,第二年,增长到了200w。到今年四月份已经增长到370w注册用户,并且还在以每天1.5w人的注册量增长。这些用户中70%是活跃用户(活跃用户:三天内至少登录一次的用户),平均每个用户每周在线时间为将近3个半小时。

下面我们来看它的技术架构。Mixi采用开源软件作为架构的基础:Linux 2.6,Apache 2.0,MySQL,Perl 5.8,memcached,Squid等等。到目前为止已经有100多台MySQL数据库服务器,并且在以每月10多台的速度增长。Mixi的数据库连接方式采用的是每次查询都进行连接,而不是持久连接。数据库大多数是以InnoDB方式运行。Mixi解决扩展问题主要依赖于对数据库的切分。

首先进行垂直切分,按照表的内容将不同的表划分到不同的数据库中。然后是水平切分,根据用户的ID将不同用户的内容再划分的不同的数据库中,这是比较通常的做法,也很管用。划分的关键还是在于应用中的实现,需要将操作封装在在数据层,而尽量不影响业务层。当然完全不改变逻辑层也不可能,这时候最能检验以前的设计是否到位,如果以前设计的不错,那创建连接的时候传个表名,用户ID进去差不多就解决问题了,而以前如果sql代码到处飞,或者数据层封装的不太好的话那就累了。

这样做了以后并不能从根本上解决问题,尤其是对于像mixi这种SNS网站,页面上往往需要引用大量的用户信息,好友信息,图片,文章信息,跨表,跨库操作相当多。这个时候就需要发挥memcached的作用了,用大内存把这些不变的数据全都缓存起来,而当修改时就通知cache过期,这样应用层基本上就可以解决大部分问题了,只会有很小一部分请求穿透应用层,用到数据库。Mixi的经验是平均每个页面的加载时间在0.02秒左右(当然根据页面大小情况不尽相似),可以说明这种做法是行之有效的。Mixi一共在32台机器上有缓存服务器,每个Cache Server 2G内存,这些Cache Server与App Server装在一起。因为Cache Server对CPU消耗不大,而有了Cache Server的支援,App Server对内存要求也不是太高,所以可以和平共处,更有效的利用资源。

图片的处理就显得相对简单的多了。对于mixi而言,图像主要有两部分:一部分是经常要使用到的,像用户头像,群组的头像等等,大概有100多GB,它们被Squid和CDN所缓存,命中率相对比较高;另一部分是用户上传的大量照片,它们的个体访问量相对而言比较小,命中率也比较低,使用Cache不划算,所以对于这些照片的策略是直接在用户上传的时候分发到到图片存储服务器上,在用户访问的时候直接进行访问,当然图片的位置需要在数据库中进行记录,不然找不到放在哪台服务器上就郁闷了。

文章参考:Batara Kesuma在MySQL Users Con 2006上的发言

ByteDance: Συμφωνία στο Χόλιγουντ για τα πνευματικά δικαιώματα στον τομέα τεχνητή νοημοσύνης

Συμφωνία υπέγραψαν τη Δευτέρα η ByteDance και η Motion Picture Association (MPA) με την οποία επιδιώκουν την ενίσχυση των μέτρων προστασίας των πνευματικών δικαιωμάτων στα μοντέλα τεχνητής νοημοσύνης της κινεζικής εταιρείας για τη δημιουργία βίντεο και εικόνων, μήνες αφότου η επαγγελματική ένωση του Χόλιγουντ αμφισβήτησε τον τρόπο με τον οποίο η εταιρεία χειρίζεται την πνευματική

初创网站与开源软件

前面有一篇文章中提到过开源软件,不过主要是在系统运维的角度去讲的,主要分析一些系统级的开源软件(例如bind,memcached),这里我们讨论的是用于搭建初创网站应用的开源软件(例如phpbb,phparticle),运行在Linux,MySQL,Apache,PHP,Java等下面。 创业期的网站往往采用比较简单的系统架构,或者是直接使用比较成熟的开源软件。使用开源软件的好处是搭建速度快,基本不需要开发,买个空间域名,下个软件一搭建,用个半天就搞定了,一个崭新的网站就开张了,在前期可以极大程度的节约时间成本和开发成本。 当然使用开源软件搭建应用也存在一些局限性,这是我们要重点研究的,而研究的目的就是如何在开源软件选型时以及接下来的维护过程中尽量避免。 一方面是开源软件一般只有在比较成熟的领域才有,如果是一些创新型的项目很难找到合适的开源软件,这个时候没什么好的解决办法,如果非要用开源的话一般会找一个最相似的改一下。实际上目前开源的项目也比较多了,在sf.net上可以找到各种各样的开源项目。选型的时候尽量应该选取一个程序架构比较简单的,不一定越简单越好,但一定要简单,一目了然,别用什么太高级的特性,互联网应用项目不需要太复杂的框架。原因有两个,一个是框架复杂无非是为了实现更好的可扩展性和更清晰的层次,而我们正在做的互联网应用范围一般会比开源软件设计时所考虑的范围小的多,所以有的应用会显得设计过度,另外追求完美的层次划分导致的太复杂的继承派生关系也会影响到整个系统维护的工作量。建议应用只需要包含三个层就可以了,数据(实体)层,业务逻辑层,表现层。太复杂的设计容易降低开发效率,提高维护成本,在出现性能问题或者突发事件的时候也不容易找到原因。 另外一个问题是开源软件的后期维护和继续开发可能会存在问题,这一点不是绝对的,取决于开源软件的架构是否清晰合理,扩展性好,如果是较小的改动可能一般不会存在什么问题,例如添加一项用户属性或者文章属性,但有些需求可能就不是很容易实现了。例如网站发展到一定阶段后可能会考虑扩展产品线,原来只提供一个论坛加上cms,现在要再加上商城,那用户系统就会有问题,如何解决这个问题已经不仅仅是改一下论坛或者cms就可以解决了,这个时候我们需要上升到更高的层次来考虑问题,是否需要建立针对整个网站的用户认证系统,实现单点登录,用户可以在产品间无缝切换而且保持登录状态。由于网站初始的用户数据可能大部分都存放在论坛里,这个时候我们需要把用户数据独立出来就会碰到麻烦,如何既能把用户数据独立出来又不影响论坛原有系统的继续运行会是件很头痛的事情。经过一段时间的运行,除非是特别好的设计以及比较好的维护,一般都会在论坛里存在各种各样乱七八糟的对用户信息的调用,而且是直接针对数据库的,这样如果要将用户数据移走的话要修改代码的工作量将不容忽视,而另外一个解决办法是复制一份用户数据出来,以新的用户数据库为主,论坛里的用户数据通过同步或异步的机制实现同步。最好的解决办法就是在选型时选一个数据层封装的比较好的,sql代码不要到处飞的软件,然后在维护的时候保持系统原有的优良风格,把所有涉及到数据库的操作都放到数据层或者实体层里,这样无论对数据进行什么扩展,代码修改起来都比较方便,基本不会对上层的代码产生影响。 网站访问速度问题对初创网站来说一般考虑的比较少,买个空间或者托管服务器,搭建好应用后基本上就开始运转了,只有到真正面临极大的速度访问瓶颈后才会真正对这个问题产生重视。实际上在从网站的开始阶段开始,速度问题就会一直存在,并且会随着网站的发展也不断演进。一个网站最基本的要求,就是有比较快的访问速度,没有速度,再好的内容或服务也出不来。所以,访问速度在网站初创的时候就需要考虑,无论是采用开源软件还是自己开发都需要注意,数据层尽量能够正确,高效的使用SQL。SQL包含的语法比较复杂,实现同样一个效果如果考虑到应用层的的不同实现方法,可能有好几种方法,但里面只有一种是最高效的,而通常情况下,高效的SQL一般是那个最简单的SQL。在初期这个问题可能不是特别明显,当访问量大起来以后,这个可能成为最主要的性能瓶颈,各种杂乱无章的SQL会让人看的疯掉。当然前期没注意的话后期也有解决办法,只不过可能不会解决的特别彻底,但还是要吧非常有效的提升性能。看MySQL的SlowQuery Log是一个最为简便的方法,把执行时间超过1秒的查询记录下来,然后分析,把该加的索引加上,该简单的SQL简化。另外也可以通过Showprocesslist查看当前数据库服务器的死锁进程,从而锁定导致问题的SQL语句。另外在数据库配置文件上可以做一些优化,也可以很好的提升性能,这些文章在网站也比较多,这里就不展开。 这些工作都做了以后,下面数据库如果再出现性能问题就需要考虑多台服务器了,一台服务器已经解决不了问题了,我以前的文章中也提到过,这里也不再展开。 其它解决速度问题的办法就不仅仅是在应用里面就可以实现的了,需要从更高的高度去设计系统,考虑到服务器,网络的架构,以及各种系统级应用软件的配合,这里也不再展开。 良好设计并实现的应用+中间件+良好的分布式设计的数据库+良好的系统配置+良好的服务器/网络结构,就可以支撑起一个较大规模的网站了,加上前面的几篇文章,一个小网站发展到大网站的过程基本上就齐了。这个过程会是一个充满艰辛和乐趣的过程,也是一个可以逐渐过渡的过程,主动出击,提前考虑,减少救火可以让这个过程轻松一些。

CMS系统的演进