You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by "Dominic Kim (Confluence)" <no...@apache.org> on 2019/04/04 07:30:05 UTC

[CONF] OpenWhisk > Design consideration

There's **1 new edit** on this page  
---  
|  
---  
|  | [![page icon](cid:page-
icon)](https://cwiki.apache.org/confluence/display/OPENWHISK/Design+consideration?src=mail&src.mail.product=confluence-
server&src.mail.timestamp=1554363005489&src.mail.notification=com.atlassian.confluence.plugins.confluence-
notifications-batch-plugin%3Abatching-
notification&src.mail.recipient=8aa980875bf24635015c9267bc8e02f6&src.mail.action=view
"page icon")  
---  
[Design
consideration](https://cwiki.apache.org/confluence/display/OPENWHISK/Design+consideration?src=mail&src.mail.product=confluence-
server&src.mail.timestamp=1554363005489&src.mail.notification=com.atlassian.confluence.plugins.confluence-
notifications-batch-plugin%3Abatching-
notification&src.mail.recipient=8aa980875bf24635015c9267bc8e02f6&src.mail.action=view
"Design consideration")  
|  |  |  |  | ![](cid:avatar_667f47ce4ae6e3a298471a84d4c64230) |  | Dominic
Kim edited this page  
---  
|  
|  | Here's what changed:  
---  
|

...

**In short, we do not necessarily support persistence for message delivery
with at-most-once semantic and circuit breaking process in OpenWhisk.**

  

##  2.7 Transactional support

There is a limitation in current throttling method as the limit is divided by
the number of controllers. Invocations can be throttled in one controller
though there are still enough capacity in other controllers. This is because
throttler does not consider the invocations in the other controllers.

For better throttling, throttlers should consider the cluster-wise resources.
According to 2.4, the resource is now the number of containers. Throttler will
throttle the namespace when the number of containers being used by the
namespace reaches the throttling limit.  As throttling works based on cluster-
wise resources, it is important to make sure the number of containers does not
exceed the throttling limit. Since multiple controllers receives invocation
requests and triggers container creation, we need transactional support when
creating containers. So whenever they tries to create containers, only one of
them should be able to create them. The others will fail to perform the
transaction and retry it. At anytime, once the number of containers exceed the
limit, all subsequent transaction will fail and no more retry will happen.

Since invocation path is separated with the container creation path, though
there is transaction in container creation path, there would be no huge
performance disadvantage in invocation path.

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  
  
  
---  
|  |  | [Go to page
history](https://cwiki.apache.org/confluence/pages/viewpreviousversions.action?pageId=103097830&src=mail&src.mail.product=confluence-
server&src.mail.timestamp=1554363005489&src.mail.notification=com.atlassian.confluence.plugins.confluence-
notifications-batch-plugin%3Abatching-
notification&src.mail.recipient=8aa980875bf24635015c9267bc8e02f6 "Go to page
history")  
---  
---  
| [View
page](https://cwiki.apache.org/confluence/display/OPENWHISK/Design+consideration?src=mail&src.mail.product=confluence-
server&src.mail.timestamp=1554363005489&src.mail.notification=com.atlassian.confluence.plugins.confluence-
notifications-batch-plugin%3Abatching-
notification&src.mail.recipient=8aa980875bf24635015c9267bc8e02f6&src.mail.action=view)  
---  
  
|  | [Stop watching
space](https://cwiki.apache.org/confluence/users/removespacenotification.action?spaceKey=OPENWHISK&src=mail&src.mail.product=confluence-
server&src.mail.timestamp=1554363005489&src.mail.notification=com.atlassian.confluence.plugins.confluence-
notifications-batch-plugin%3Abatching-
notification&src.mail.recipient=8aa980875bf24635015c9267bc8e02f6&src.mail.action=stop-
watching&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4c3JmOjhhYTk4MDg3NWJmMjQ2MzUwMTVjOTI2N2JjOGUwMmY2IiwicXNoIjoiYmM2ZDk0YjkwNTgzODU4MGRmMzhhYjViNzZkMTk1NmVhMDc3MjhjNGM4YmJkNDBmODI1MGQ5YWZiYzgxYWEwYiIsImlzcyI6ImNvbmZsdWVuY2Vfbm90aWZpY2F0aW9uc0FSRUgtWFVEMS1QT1FHLUNTQU8iLCJleHAiOjE1NTQ5Njc4MDUsImlhdCI6MTU1NDM2MzAwNX0.kwoDPfi3dHN4ej_ItW25AFEncUYNahakYZErkgyWZzk)
| •  
---|---  
[Manage
notifications](https://cwiki.apache.org/confluence/users/editmyemailsettings.action?src=mail&src.mail.product=confluence-
server&src.mail.timestamp=1554363005489&src.mail.notification=com.atlassian.confluence.plugins.confluence-
notifications-batch-plugin%3Abatching-
notification&src.mail.recipient=8aa980875bf24635015c9267bc8e02f6&src.mail.action=manage)  
---  
| ![Confluence logo big](cid:footer-desktop-logo)  
---  
This message was sent by Atlassian Confluence 6.14.2  
![](cid:footer-mobile-logo)  
---