Спрашивали, где можно посмотреть результат этого метода.
В процессе TLA+ доказательства Claude (Fable) обнаружил, что при изменении количества workers в конфигурации сервиса Transactional Outbox и Transactional Inbox могут терять сообщения.
Предложенные им варианты были работающими, но существенно усложняли интерфейс библиотек. Тогда я и решил попробовать этот метод для расширения списка вариантов решения.
В результате он предложил решение, которое мне не встречалось ни в одной из Transactional Outbox/Inbox библиотек на пяти языках, с которыми имею дело. И, если честно, я даже не догадывался о том, что так можно было. И, видимо, Claude тоже не догадывался. По крайней мере до сего момента он мне его не предлагал ни разу. Иными словами, он это решение не из долговременной памяти вытянул, а синтезировал в соответствии с 1-м з-ном диалектики.
Посмотреть результат можно здесь для Outbox:
- https://github.com/krew-solutions/ascetic-ddd-rust/commit/803bcaf4d0d5550aaebd7045110a2cc6330760a0
И для Inbox:
- https://github.com/krew-solutions/ascetic-ddd-rust/commit/cba3b3348464d282085200b29e312227fb5d47dc
Post #1882
1.41K
emacsway-log: Technical Leadership, Management, Software Architecture, DDD, Microservices, Distributed Systems, XP, Agile, etc. Еще один лайфхак для поиска непростых решений: ❯ Создай себе агента-дискриминатора, чтоб применить 1-й з-н диалектики и The Rule of Three by Gerald M. Weinberg для поиска решения. Источник идеи подсмотрел здесь.GitHub A dispatcher owns a slot by locking its position, and has no identity… · krew-solutions/ascetic-ddd-rust@803bcaf … (ADR-0007) The outbox split a group's work over workers by hashtext(uri) % n, n and the worker's id given at start-up, with a position per worker. A worker that died took its sha...
- 🔥 4
- 👍 3
- 🙏 1