2019下半年
题目
You are developing a server-side enterprise application .It must support a variety of different clients including desktop browsers, mobile browsers and native mobile applications .The application might also expose an API for 3rd parties to the customer.It might also ( 1 )with other applications via either a web service or a message broker .The application handle request (http requests and messages.)by executing business logic ,accessing a database exchanging messages with other systems and returning a (html jason xml) ( 2 ) .There are logic components corresponding to different function areas of the application.
What’s the applications deployment architecture ?
Define an architecture that structures the application as a set of ( 3 ),collaborating service .This approach corresponds to the Y-axis of the Scale Cube .Each server is :
- Highly maintainable and testable -enables rapid and frequent development and deployment .
- Loosely coupled with other service -enables a team to work independently the majority of time on their service without being imputed by changes to other services and without affecting other services.
- Independently deplorable -enable a team to deploy their service without having to coordinate with other teams .
- Capable of being developed by a small team -essential for high productivity by avoiding the high communication head a large teams .
Service communicate using either synchronous protocols such as http/rest or a asynchronous protocols such as AMQP .Service can be developed and deployed independently of one other . Each service has its own database in order to be decoupled from other services. Data consistency between services is maintained using some particular pattern .
- A. intergrate(集成) B.coodinate(协作)
C.cooperate(合作) D.communicate(通信) - A.request(请求) B.response(响应)
C.text(文本) D.file(文件) -
A.loosely coupled(低耦合) B.loosely cohesion(低内聚)
C.High coupled(高耦合) D.Highly cohesion(高内聚) - A.Dependently(非独立的) B.Independently(独立的)
C.Coordinatly(协作地) D.Integratedly(集成地) - A. intergrate(集成) B.coordinate(协作)
C.communicate(通信) D.depend(依赖)
全文翻译
你正在开发 一个服务器端的企业应用。该应用要求支持多种客户端,如桌面浏览器,移动刘览器以及本地移动应用程序:可以向客户公开第三方接口;可以通过Web services或消息代理跟其他应用程序通信,应应用程序通过执行业务逻辑、连接数据库、与其他系统交互信息等操作来处理(HTTP请求以及消息)请求,并返回HTML/ISON/XML文本;它也会有一些逻辑组件对应任序的不同功能区。
这个应用程序的部署架构是什么样的?
将应用程序的架构定义为组在ScaleCube的y轴上低耦合 、互相协作的服务集合。每种服务具有以下特点:
◆高可维护性与可测试性–使得快速频繁地开发部署成为可能。
◆与其它服务低耦合使 开发团队能够独立工作(其所在服务的大部分时间),而不会被其他服务的更改所影响,也不会影响其他服务。
◆独立部署一让团队无需跟其他团队协调就可部署他们的服务。
◆能够被小型的团队开发一-避免大团队高昂的沟通成本,这是提高产能的关键。
服务通过同步协议(如HTTP /REST)或异步协议(如AMQP)进行通信。服务可以彼此独立开发和部署。为了跟其他服务解耦,每种服务都有自己的数据库。服务之间使用特定的模式来维护数据的一致性。