iOS地图应用程序的后端架构

时间:2016-08-09 10:37:34

标签: ios database architecture azure-mobile-services nosql

我已经研究过这个主题,但我似乎无法理解/找到有关我的问题的足够信息。

我是一家小型软件公司的新人,我刚刚有一个项目需要编写技术要求规范。

我们正在开发一个iOS地图应用程序,用户可以根据用户可以添加兴趣点的城市创建地图,并将图片添加到这些地图以及描述等。关键是,用户可以共享来自特定城市的旅行体验与其他用户。

我的问题是,我需要描述整个系统架构并决定如何组合后端解决方案。我没有系统架构的经验。

我已经了解了Microsoft Azure在https://azure.microsoft.com/en-us/pricing/details/app-service/可以使用的内容,特别是标准S1计划选项。但是,如果应用程序的用户群是,那么我不知道这个解决方案是否足够,比方说,20.000个用户?并且是否包含NoSQL数据库或者它可以吗?

如果我存在与此类似的问题,我很抱歉道歉!

希望任何人都可以提出一些总体建议

干杯!

2 个答案:

答案 0 :(得分:1)

App Service仅提供Web托管功能。这是一个相当广泛的功能,包括许多扩展功能。它可以扩展(因为如果您编写的后端是无状态的,您可以运行多个副本)并且具有您需要的所有DevOps要求。

对于该基本后端,您将要添加其他功能。 DocumentDb或Azure表存储都提供NoSQL功能,差异在于延迟,查询能力和弹性。您还可以选择SQL数据库,blob存储或将自己的数据库或第三方数据库放在体系结构中。

系统架构过于宽泛和模糊,没有实际要求。询问特定解决方案是否适合这种广泛而模糊的解决方案在这里并不合适。

答案 1 :(得分:0)

- (void)viewDidLoad
{
   [super viewDidLoad];
     mapView = [[MKMapView alloc]initWithFrame:
       CGRectMake(10, 100, 300, 300)];
       mapView.delegate = self;
       mapView.centerCoordinate = CLLocationCoordinate2DMake(37.32, -122.03);
       mapView.mapType = MKMapTypeHybrid;
       CLLocationCoordinate2D location;
       location.latitude = (double) 37.332768;
       location.longitude = (double) -122.030039;
       // Add the annotation to our map view
       MapAnnotation *newAnnotation = [[MapAnnotation alloc]
       initWithTitle:@"Apple Head quaters" andCoordinate:location];
       [mapView addAnnotation:newAnnotation];
       CLLocationCoordinate2D location2;
       location2.latitude = (double) 37.35239;
       location2.longitude = (double) -122.025919;
       MapAnnotation *newAnnotation2 = [[MapAnnotation alloc] 
       initWithTitle:@"Test annotation" andCoordinate:location2];
       [mapView addAnnotation:newAnnotation2];
       [self.view addSubview:mapView];

}


// When a map annotation point is added, zoom to it (1500 range)
- (void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views
{
   MKAnnotationView *annotationView = [views objectAtIndex:0];
   id <MKAnnotation> mp = [annotationView annotation];
   MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance
   ([mp coordinate], 1500, 1500);
   [mv setRegion:region animated:YES];
   [mv selectAnnotation:mp animated:YES];
}

您可以根据自己进行编辑 注意:您需要实现popUp(自定义)。