 
			
				13.12.2012, 21:18
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 10.03.2012 
					
					
					
						Сообщений: 50
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Правильно ли построена архитектура?
			 
			
		
		
		
		Здравствуйте, никогда раньше не занимался серверными технологиями, но тут возникла необходимость создать высоконагруженный сервер для флеш приложения, с несколькими тысячами пользователей одновременно. Пару дней по изучал что к чему, и вот нарисовал схему как я себе это представляю. Задача: пользователь подключен сокетом к node.js , который управляет всей игровой логикой, по необходимости считывая или записывая в БД. вся статика выдаётся и сохраняется через nginx. Вопрос заключается в том, правильно ли построена система и выдержит ли большую нагрузку(сама логика игры не особо сложна, но коннектов будет несколько тысяч) 
		
	
		
		
			
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				13.12.2012, 22:19
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 04.02.2011 
					
					
					
						Сообщений: 1,815
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 игра пошаговая/или реалтайм ? 
 
Можно поподробне про взаимодействие PHP и node, имеет ли нода прямой доступ к бд (на схемке я этого невижу) ? 
		
	
		
		
		
		
		
			
				__________________ 
				Лучше калымить в гандурасе чем гандурасить на колыме
			 
		
		
		
		
		
						  
				
				Последний раз редактировалось DjDiablo, 13.12.2012 в 22:40.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				13.12.2012, 22:43
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 10.03.2012 
					
					
					
						Сообщений: 50
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Пошаговая, в больше части функционал типа отправить подарок, сообщение. 
Нода обращается у меня к php через апач, В основном для логирования действий. 
Вообще не знаю стоит ли ставить апач для работы с бд и сохранения картинок, аудио, можно вроде обойтись и без него. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				13.12.2012, 22:53
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 04.02.2011 
					
					
					
						Сообщений: 1,815
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Что касается ноды то с бд однозначно лучше напрямую без посредников. 
 
Помимо логирования,  наверно будет ещё загрузка игровой ситуации пользователя, когда пользователь только подключился. Как я понимаю. 
 
если ты планируешь записывать в бд каждое действие игрока, то это необязательно делать. К примеру в онлайн игре домовята, есть кнопочка сохранить, если ненажать то прогресс будет утерян.  Зато пока пользователь ни нажмёт, сервер БД недёргает. 
 
Одним словом 
Я вижу слабое место в PHP прослойке, при логе каждого действия нагрузка на PHP будет больше чем на саму ноду. Так что апач с php лучше обрулить как мне кажется и работать напрямую с бд.  
 
Опять же текущую игровую ситуацию желательно бы хранить в памяти nodejs (впрочем это очевидно,), как я понимаю до 500мб проблем быть недолжно, и выгружать в бд только по мере необходимости (в случае разрыва соединения к примеру/ по нажатию кнопки save/ другие варианты  ). 
		
	
		
		
		
		
		
			
				__________________ 
				Лучше калымить в гандурасе чем гандурасить на колыме
			 
		
		
		
		
		
						  
				
				Последний раз редактировалось DjDiablo, 13.12.2012 в 23:14.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				13.12.2012, 23:16
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 10.03.2012 
					
					
					
						Сообщений: 50
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Спасибо, да весь процесс игры будет храниться в памяти. В базу будут скидываться только результаты.  
Сохранение файлов тоже лучше выполнять без апача? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				13.12.2012, 23:24
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 04.02.2011 
					
					
					
						Сообщений: 1,815
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 ХЗ если чесно. 
Если нода и апач  физически отделены, то логично повесить файлы на апач, рагрузив таким образом сервак с нодой.Ну а если всё на одной машине то я хз что быстрее, да и вобще хз насколько PHP шная часть будет давать нагрузку на этот общий сервак, и что в этом случае на апач можно вешать. 
 
ну и опятьже ХЗ чо за файлы, вобще непонятно откуда потребность в их сохранении  в браузерной игре. 
		
	
		
		
		
		
		
			
				__________________ 
				Лучше калымить в гандурасе чем гандурасить на колыме
			 
		
		
		
		
		
						  
				
				Последний раз редактировалось DjDiablo, 13.12.2012 в 23:57.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				13.12.2012, 23:39
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 10.03.2012 
					
					
					
						Сообщений: 50
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Фотографии, аудио. Просто стоит ли ради этого держать апач... 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.12.2012, 14:06
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 10.03.2012 
					
					
					
						Сообщений: 50
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 DjDiablo, а если нужно при коннекте получать из базы данные пользователя по айди, а если там их нету то обратиться к php файлу и вернуть оттуда. тут Уже без апача не обойтись? 
(php файл будет обращаться к vk.api и получать оттуда) 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.12.2012, 15:19
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 04.02.2011 
					
					
					
						Сообщений: 1,815
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 я невижу критических преград для использования VK api из ноды. 
что касается хранения картинок то не могу порекомендовать что либо, нужно искать в сети бенчмарки. 
		
	
		
		
		
		
		
			
				__________________ 
				Лучше калымить в гандурасе чем гандурасить на колыме
			 
		
		
		
		
		
						  
				
				Последний раз редактировалось DjDiablo, 17.12.2012 в 15:46.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |