(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрикс24»

  • View
    265

  • Download
    11

Embed Size (px)

DESCRIPTION

. "1-". . . 24: , , master-master,

Transcript

  • 1. 1-
  • 2. 1-: 1-: 1-: Linux . : ; -; ; firewall; ; , slave-, slave- master; , , -.
  • 3. 1 ? - 1.5 . . 210 10 . - 0,3 - 1 .
  • 4. , -: ( HA - High Availability Failover ) - (HP - High Performance ) , , . MySQL.
  • 5. - -. - -, . , , .
  • 6. - -, - - - master-master -. . -, - - - -, - - -
  • 7. - - - - - - - - - (master) slave (Amazon S3, Azure, Google Storage, OpenStack Swift) + CDN (master) slave
  • 8. HTTP/HTTPS *.com HTTP/HTTPS *.com *.ru HTTP/HTTPS *.ru cache cache Web 1 Web 2 CloudWatch + AutoScaling cache cache Web 1 Web N cache Web 2 CloudWatch CloudWatch + AutoScaling cache Web N CloudWatch MySQL master master-master MySQL slave MySQL master MySQL slave management, monitoring
  • 9. 24: ,
  • 10. 2012 2012 Bitrix24 Project- Task- Social CRM - , ,
  • 11. SaaS Bitrix24 SaaS , SLA : , ,
  • 12.
  • 13. - . Bitrix24 .
  • 14. 2- - -, - - - master-master -. . -, - - - -, - - -
  • 15. - - - - - - - - (master) slave (Amazon S3, Azure, Google Storage, OpenStack Swift) + CDN (master) slave
  • 16. - ( ) MultiTenancy ( ) API
  • 17. : ( ) (FriendFeed), , - Amazon (AWS). . , , Facebook
  • 18. Amazon .
  • 19. Bitrix24 Elastic Load Balancing Web 1 Web 2 1 CloudWatch + AutoScaling Web N MySQL master S3 master-master management, monitoring, MySQL backup Web 1 MySQL master Web 2 Web N 2 CloudWatch + AutoScaling
  • 20. Web Elastic Load Balancing + CloudWatch + Auto Scaling Elastic Load Balancing Web 1 Web 2 CloudWatch + Auto Scaling Web N
  • 21. Web Elastic Load Balancing + CloudWatch + Auto Scaling , CPU 60% , 30% 80%, ( )
  • 22. web- , : - , . Read only. -, . .
  • 23. web- Apache. PHP-FPM + nginx PHP: , ,
  • 24. S3 url , ..
  • 25. Elastic Load Balancing Web 1 Web 2 1 US East (Virginia) Elastic Load Balancing Web N MySQL master S3 master-master Web 1 MySQL master Web 2 Web N 2 US East (Virginia) CloudWatch + AutoScaling CloudWatch + AutoScaling management, m onitoring, MySQL backup
  • 26. master-master MySQL MySQL: auto_increment_increment auto_increment_offset , : , . . . , - : SET sql_log_bin = 0 replicate-wild-ignore-table = %.b_sec_session%
  • 27. 1: - Elastic Load Balancing Web 1 Web 2 1 US East (Virginia) Web N MySQL master S3 master-master Web 1 MySQL master Web 2 Web N 2 US East (Virginia) CloudWatch + AutoScaling CloudWatch + AutoScaling management, monitoring, MySQL backup
  • 28. 1: - Load Balancing ,
  • 29. 1: - Elastic Load Balancing Web 1 Web 2 1 US East (Virginia) Web N MySQL master S3 master-master Web 1 MySQL master Web 2 Web N 2 US East (Virginia) CloudWatch + AutoScaling CloudWatch + AutoScaling management, m onitoring, MySQL backup
  • 30. 2: Elastic Load Balancing Web 1 Web 2 1 US East (Virginia) Elastic Load Balancing Web N MySQL master S3 master-master Elastic Load Balancing Web 1 MySQL master Web 2 Web N 2 US East (Virginia) CloudWatch + AutoScaling CloudWatch + AutoScaling management, monitoring, MySQL backup
  • 31. 2:
  • 32. 3: Elastic Load Balancing Web 1 Web 2 1 US East (Virginia) Web N MySQL master S3 master-master Web 1 MySQL master Web 2 Web N 2 US East (Virginia) CloudWatch + AutoScaling CloudWatch + AutoScaling management, monitoring, MySQL backup
  • 33. 3: CloudWatch AutoScaling - , , ,
  • 34. MySQL? Percona Server! : fork MySQL Percona Server ( MySQL) Multitenancy XtraDB XtraBackup BLOB, TEXT MEMORY (HEAP)
  • 35. MySQL (EC2) . EBS Amazon software RAID. RAID-10, , .
  • 36. : . (AMI) RAID, , freeze snapshot . (mysqldump) (Xtrabackup) , . slave, . .