中间件主要内置功能服务

  1. Remote method Invocations.(远程方法调用)----We need logic that connects a client and server via a network connection. This includes dispathing method requests,brokering parameters,and more.

  2. Load balancing.(负载均衡)----Clients must be directed to the server with the lightest load,If a server is overloaded,a different server should be chosen.

  3. Transparent fail-over.(透明的故障转移)---If a server crashes,or if the network crashes,can clients be retouted to other servers without interruption of service? if so,how fast does fail-over happen?Second?Minutes?What is acceptable for your bussiness problem?

  4. Back-end integration.(后端集成)----Code needs to be written to persist business data into databases as well as integrate with legacy systems that may already exist.

  5. Transactions.(事务)----What if two clients access the same row of database simultaneously? Or what if the database crashes? Transaction protect you from these issues.

  6. Clustering.(集群)----What if the server contains state when it crashes? Is that state replicated across all servers,so that clients can use a different server?

  7. Dynamic redeployment.(动态部署)How do you perfoerm software upgrades while the site is running?Do you need to take a machine down,or can you keep it running?

  8. Clean shutdown.(优雅停机)if you need to shut down a server,can you do it in a smooth,clean manner so that you don't interrupt service to clients who are currently using the server?

  9. Logging and auditing.(日志与审核)---If something goes wrong,is there a log that you can consult to determine the cause of the problem? A log would help you debug the problem so it doesn't happen again.

  10. Systems management.(系统管理)In the event of catastrophic failure,who is monitoring your system? You want monitoring software that paged a system administrator if a catastrophe occurred.

  11. Threading. (线程处理)Now that you have many clients connecting to a server,that server is going to need the capability of processing multiple client requests simultaneously.This means the server must be coded to be multithreaded.

  12. Message-oriented middleware.(消息中间件)Certain types of requests should be message-based where the clients and servers are very loosely coupled.You need infrastructure to accommodate messaging.

  13. Object life cycle.(对象生命周期)The objects that live within the server need to be created or destroyed when client traffic increases or decreases,respectively.

  14. Resource pooling.(资源池)----If a client is not currently using a server,that server's precious resources can be returned to a pool to be reused when other clients connect. This includes sockets (such as database connections) as well as object that live within the server.

  15. Security.(安全)-----The servers and databases need to be shielded from saboteurs Known users must be allowed to perform only operations that they have rights to perform.

  16. Caching.(缓存)----Let's assume there is some database data that all clients share and make use of ,such as a common product catalog.Why should your servers retrieve that same catalog data from the database over and over again? You could keep that data around in the servers' memory and avoid costly network roundtrips and database hits.

  17. And much ,much,much more.

Each of these issues is a separate service that needs to be addressed for serious server-side computing.Thes services are needed in any business problem and in any vertical industry.And each of these services requires a lot of thought and a lot of plumbing to resolve.Together,these services are called middleware.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值